sql数据库基础

SQL数据库基础概念

SQL(Structured Query Language)是用于管理和操作关系型数据库的标准语言。关系型数据库以表格形式存储数据,表由行(记录)和列(字段)组成。

常见数据库管理系统

MySQL、PostgreSQL、Oracle、Microsoft SQL Server和SQLite是广泛使用的关系型数据库管理系统。它们都支持SQL标准,但可能有各自的扩展和语法差异。

基本SQL命令分类

数据定义语言(DDL) CREATE DATABASE创建数据库 CREATE TABLE创建表 ALTER TABLE修改表结构 DROP TABLE删除表

数据操作语言(DML) INSERT INTO插入数据 UPDATE更新数据 DELETE删除数据

数据查询语言(DQL) SELECT查询数据 FROM指定数据源 WHERE过滤条件

数据控制语言(DCL) GRANT授予权限 REVOKE撤销权限

创建和管理表

sql
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

基本查询操作

sql
SELECT * FROM users;
SELECT username, email FROM users WHERE id = 1;
SELECT * FROM users ORDER BY created_at DESC;
SELECT COUNT(*) FROM users;

表间关系

主键(Primary Key)唯一标识表中的每条记录 外键(Foreign Key)建立表之间的关联 JOIN操作关联多表数据

 

sql
SELECT orders.id, users.username 
FROM orders 
JOIN users ON orders.user_id = users.id;

数据完整性约束

NOT NULL确保列不能有NULL值 UNIQUE确保列中所有值都不同 PRIMARY KEY唯一标识表中的每条记录 FOREIGN KEY维护表间关系 CHECK确保列值满足特定条件 DEFAULT为列提供默认值

索引优化

sql
CREATE INDEX idx_username ON users(username);

索引可以加快查询速度但会增加插入和更新操作的开销。

事务控制

sql
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

事务确保一组操作要么全部成功,要么全部失败,保持数据一致性。

视图和存储过程

视图是虚拟表,存储查询结果 存储过程是预编译的SQL语句集合

sql
CREATE VIEW active_users AS
SELECT * FROM users WHERE last_login > DATE_SUB(NOW(), INTERVAL 30 DAY);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值