SQL
Structured Query Language 结构化查询语言
SQL语法
- SQL语句对大小写不敏感。
- 某些数据库系统要求在每条 SQL 语句的末端使用分号。
- 分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的 SQL 语句。
SQL语句
SELECT
从数据库中选取数据
SELECT * FROM my_table; // 从该表中选择所有列
SELECT id,name FROM my_table; // 从该表中选择id和name列
SELECT DISTINCT
返回唯一不同的值
SELECT DISTINCT name FROM my_table; // 选择该表中的name列,并去掉重复值
WHERE
用于过滤记录
SELECT * FROM my_table where name='juzi'; // 选取name为juzi的记录
SELECT * FROM my_table where sum<=10; // 数值不使用单引号
where子句中可以使用各种比较运算符,逻辑运算符,以及BETWEEN,LIKE,IN,IS NULL等特殊条件。
AND & OR
SELECT * FROM my_table where name='juzi' AND age < 18;
SELECT * FROM my_table where type='apple' OR type='banana';
SELECT * FROM my_table where country='CHINA' AND (type='apple' OR type='banana');
ORDER BY
用于对结果进行排序
SELECT * FROM student ORDER BY height; // 根据height排列,默认升序ASC
SELECT * FROM student ORDER BY height DESC; // 根据height降序排列
根据多列进行排序
// 先根据age降序排列,再根据height局部升序排列
SELECT * FROM student ORDER BY age DESC,height;
INSERT INTO
用于向表中插入新纪录
没有指定列名,需要列出每一列的数据,自动更新的列,如id,不需要指定
INSERT INTO my_table VALUES (value1,value2,...)
指定列插入数据
INSERT INTO my_table (name, age, height) VALUES ('apple', '16', '168');
UPDATE
用于更新表中的记录
UPDATE student
SET height='190', age='19'
WHERE name='apple';
如果没有Where语句,将会更新表中的所有数据,应当小心使用!
DELETE
用于删除表中的记录
DELETE FROM student
WHERE name='apple' AND country='CHINA';
删除表中所有行
DELETE FROM my_table;
// 或者
DELETE * FROM my_table;
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!