SQL语句的数据操作语言 (DML) 和 数据定义语言 (DDL)使用介绍

SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。

查询和更新指令构成了 SQL 的 DML 部分:

SELECT – 从数据库表中获取数据:

UPDATE – 更新数据库表中的数据

DELETE – 从数据库表中删除数据

INSERT INTO – 向数据库表中插入数据

SQL语句

查询:SELECT 列名称 FROM 表名称/SELECT * FROM 表名称
更新:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
删除:DELETE FROM 表名称 WHERE 列名称 = 值
插入:INSERT  INTO  表名称  VALUES(值1,值2,...)/INSERT  INTO  表名称(列1,,2,...)  VALUES(值1,值2,...)
唯一值:SELECT  DISTINCT  列名称  FROM  表名称(用于返回唯一不同的值)
条件:SELECT  列名称  FROM  表名称  WHERE  列  运算符  值/运算符(=、<>、>、<、>=、<=、BETWEEN、LIKE)
条件链接:SELECT * FROM 表名称 WHERE 列名称 = 值 AND 列名称 = 值/SELECT * FROM 表名称 WHERE 列名称 = 值 OR 列名称 = 值 
排序:ORDER BY 语句用于根据指定的列对结果集进行排序,降序对记录进行排序DESC,升序对记录进行排序ASC
SELECT * FROM 表名称 ORDER BY 列名称 DESC/SELECT * FROM 表名称 ORDER BY 列名称 ASC
条数:SELECT TOP 数字 * FROM 表名称/SELECT TOP 数字 PERCENT * FROM 表名称
匹配:SELECT * FROM 表名称 WHERE 列名称 LINK '%值'
In:SELECT * FROM 表名称 WHERE 列名称 IN (值1,值2,...)
Between:SELECT * FROM 表名称 WHERE 列名称 BETWEEN '值1' AND '值2'
内连接:SELECT 表名称.列名称 FROM 表名称1 INNER JOIN 表名称2 ON 表名称1.id = 表名称2.id
左连接:SELECT 表名称.列名称 FROM 表名称1 LEFT JOIN 表名称2 ON 表名称1.id = 表名称2.id
右连接:SELECT 表名称.列名称 FROM 表名称1 RIGHT JOIN 表名称2 ON 表名称1.id = 表名称2.id
全连接:SELECT 表名称.列名称 FROM 表名称1 FULL JOIN 表名称2 ON 表名称1.id = 表名称2.id
Union:SELECT 列名称 FROM 表名称 UNION(UNION ALL) SELECT 列名称 FROM 表名称
复制:SELECT 列名称 INTO 新表名称 FROM 表名称1 (WHERE 列名称 = 值/INNER JOIN 表名称2 ON 表名称1.id = 表名称2.id)

通配符:

%,替代一个或多个字符;-,仅替代一个字符;[charlist],字符列中的任何单一字符;[^charlist]或[!charlist],不在字符列中的任何单一字符。

SQL 中最重要的 DDL 语句:

CREATE DATABASE – 创建新数据库

ALTER DATABASE – 修改数据库

CREATE TABLE – 创建新表

ALTER TABLE – 变更(改变)数据库表

DROP TABLE – 删除表

CREATE INDEX – 创建索引(搜索键)

DROP INDEX – 删除索引

SQL语句

创建数据库:CREATE DATABASE 名称
创建表格:CREATE TABLE 表名称 (列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,...) 
创建索引:CREATE INDEX 索引名 ON 表名称 (列名称)/CREATE UNIQUE INDEX 索引名 ON 表名称 (列名称)
删除索引、表以及数据库:DROP INDEX 索引名/DROP TABLE 表名称/DROP DATABASE 数据库名称
删除内容:TRUNCATE TABLE 表名称
表中列添加:ALTER TABLE 表名称 ADD 列名称 数据类型
表中列修改:ALTER TABLE 表名称 ALTER COLUMN 列名称 数据类型
表中列删除:ALTER TABLE 表名称 DROP COLUMN 列名称
创建视图:CREATE VIEW 视图名称 AS SELECT 列名称 FROM 表名称 WHERE 条件

SQL约束

NOT NULL:约束强制列不接受 NULL 值

UNIQUE:约束唯一标识数据库表中的每条记录

PRIMARY KEY:约束唯一标识数据库表中的每条记录

FOREIGN KEY:一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY

CHECK:约束用于限制列中的值的范围

DEFAULT:约束用于向列中插入默认值

SQL的NULL值处理:IS NULL 和 IS NOT NULL 操作

SQL函数

SELECT function(列) FROM 表

AVG(column)返回某列的平均值
COUNT(column)返回某列的行数(不包括NULL值)
COUNT(*)返回被选行数 
COUNT(DISTINCT column)返回相异结果的数目
FIRST(column)返回在指定的域中第一个记录的值(SQLServer2000 不支持)
LAST(column)返回在指定的域中最后一个记录的值(SQLServer2000 不支持)
MAX(column)返回某列的最高值
MIN(column)返回某列的最低值
SUM(column)返回某列的总和

UCASE(c)将某个域转换为大写
LCASE(c)将某个域转换为小写
MID(c,start[,end])从某个文本域提取字符
LEN(c)返回某个文本域的长度
ROUND(c,decimals)对某个数值域进行指定小数位数的四舍五入
NOW()返回当前的系统日期
FORMAT(c,format)改变某个域的显示方式

SQL的GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name

SQL的增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐