SQL(Structured Query Language)即结构化查询语言,是用于管理关系型数据库的标准语言。掌握 SQL 语法是操作数据库的关键,以下是 SQL 语法基础知识的详细总结。
一、数据定义语言(DDL - Data Definition Language)
1. 创建数据库(CREATE DATABASE)
用于创建一个新的数据库。例如,创建一个名为 mydb
的数据库:
CREATE DATABASE mydb;
2. 创建表(CREATE TABLE)
定义表的结构,包括列名、数据类型和约束等。例如,创建一个名为 students
的表,包含 id
(整数类型,主键)、name
(字符类型)和 age
(整数类型):
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
3. 修改表(ALTER TABLE)
可以修改表的结构,如添加列、修改列的数据类型或删除列。添加一个 gender
列到 students
表:
ALTER TABLE students ADD COLUMN gender VARCHAR(10);
4. 删除表(DROP TABLE)
删除整个表及其数据。删除 students
表:
DROP TABLE students;
二、数据操作语言(DML - Data Manipulation Language)
1. 插入数据(INSERT INTO)
向表中插入新的行。向 students
表插入一条记录:
INSERT INTO students (id, name, age) VALUES (1, 'John', 20);
2. 查询数据(SELECT)
这是 SQL 中最常用的操作。查询 students
表中的所有数据:
SELECT * FROM students;
也可以查询特定列的数据,例如只查询 name
和 age
:
SELECT name, age FROM students;
还可以使用 WHERE
子句进行条件查询,如查询年龄大于 18 岁的学生:
SELECT * FROM students WHERE age > 18;
3. 更新数据(UPDATE)
修改表中已存在的数据。将 id
为 1 的学生年龄更新为 21:
UPDATE students SET age = 21 WHERE id = 1;
4. 删除数据(DELETE)
从表中删除行。删除 age
小于 18 的学生记录:
DELETE FROM students WHERE age < 18;
三、数据控制语言(DCL - Data Control Language)
1. 授予权限(GRANT)
赋予用户对数据库对象的操作权限。例如,授予用户 user1
对 mydb
数据库中 students
表的查询权限:
GRANT SELECT ON mydb.students TO user1;
2. 收回权限(REVOKE)
撤销用户已有的权限。收回用户 user1
对 students
表的查询权限:
REVOKE SELECT ON mydb.students FROM user1;
四、条件和运算符
1. 比较运算符
包括 =
(等于)、>
(大于)、<
(小于)、>=
(大于等于)、<=
(小于等于)、<>
或 !=
(不等于)。可用于 WHERE
子句中,如查询 name
为 'John'
的学生:
SELECT * FROM students WHERE name = 'John';
2. 逻辑运算符
AND
、OR
、NOT
。例如,查询年龄大于 18 且名字是 'John'
的学生:
SELECT * FROM students WHERE age > 18 AND name = 'John';
五、函数
1. 聚合函数
例如 COUNT
(计数)、SUM
(求和)、AVG
(平均值)、MAX
(最大值)、MIN
(最小值)。计算学生的平均年龄:
SELECT AVG(age) FROM students;
2. 字符串函数
如 CONCAT
(连接字符串)、UPPER
(转换为大写)、LOWER
(转换为小写)等。将学生名字转换为大写:
SELECT UPPER(name) FROM students;
以上就是 SQL 语法的基础知识,通过这些基本操作,可以完成对数据库的大部分管理和数据操作任务。随着对数据库应用的深入,还可以学习更复杂的 SQL 语法,如连接查询、子查询等。