SQL语句总是以关键字开始,如SELECT、INSERT、UPDATE、DELETE、DROP、CREATE。
SQL语句以分号结尾。
SQL不区分大小写,意味着update与UPDATE相同。
SELECT选择
SELECT和FROM他们必须按顺序排列。SELECT指示要查看哪些列,FROM标识它们所在的表。
SQL SELECT 语法如下所示:
!*号代表可用的所有字段,如:
SELECT column1, column2, ... FROM table_name;
SELECT * FROM table_name;
SQL SELECT DISTINCT(选择不同) 语法
SELECT DISTINCT语法用于仅返回不同的(different)值。
在一张表内,一列通常包含许多重复的值; 有时你只想列出不同的(different)值。
表名:mytable
id | sex | years |
---|---|---|
1 | 1 | 18 |
2 | 0 | 18 |
3 | 1 | 20 |
若使用
SELECT years FROM mytable;
则输出18,18,20
SELECT DISTINCT years FROM mytable;
则输出18,20
SQL WHERE Clause(查询子句)
WHERE 子句用于过滤记录。
WHERE 子句用于提取满足指定标准的记录。
语法:
SELECT value1, value2, ...
FROM table_name
WHERE condition;
!! WHERE子句不仅用于SELECT语法,还用于UPDATE,DELETE语法等!
SELECT * FROM mytable WHERE years=18;
则输出前两行的数据
SQL AND, OR and NOT
与编程中的&& || !一样的道理,不过多的介绍
SQL ORDER BY Keyword(按关键字排序)
ORDER BY 关键字用于按升序或降序对结果集进行排序。
ORDER BY 关键字默认情况下按升序排序记录。
如果需要按降序对记录进行排序,可以使用DESC关键字。
ASC为升序,DESC为降序
SELECT * FROM mytable ORDER BY years ASC, id DESC;
SQL INSERT INTO 语句(在表中插入)
INSERT INTO 语句用于向表中插入新的数据行
1.第一个表单没有指定要插入数据的列的名称,只提供要插入的值,即可添加一行新的数据:
INSERT INTO mytable(id,sex,years) VALUES (4,0,19);
2.第二种,如果要为表中的所有列添加值,则不需要在SQL查询中指定列名称。但是,请确保值的顺序与表中的列顺序相同
INSERT INTO mytable VALUES (5,1,23);
!使用一个表来填充另一个表
可以通过另一个表上的SELECT语句查询出来的字段值,然后将数据填充到本表中,条件是另一个表所查询的字段与本表要插入数据的字段是一一对应的。
INSERT INTO first_table_name [(value1, value2, ... valueN)]
SELECT value1, value2, ...valueN
FROM second_table_name
[WHERE condition];
SQL NULL Values(空值)
SQL 中,NULL 用于表示缺失的值。数据表中的 NULL 值表示该值所处的字段为空。
!测试空值
IS NULL语法:
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
IS NOT NULL语法:
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;
SQL UPDATE 语句(更新表中的记录)
UPDATE 语句用于更新表中已存在的记录。
还可以使用AND或OR运算符组合多个条件。
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
!!!警告
更新记录时要小心。如果您省略WHERE子句,所有记录将被更新!
SQL DELETE语句(删除)
好啦!结束了,你问我为什么这个就一个标题?当然是为了防止你删库跑路啦!!!