SQL DML 和 DDL
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。
查询和更新指令构成了 SQL 的 DML 部分:
- SELECT - 从数据库表中获取数据
- UPDATE - 更新数据库表中的数据
- DELETE - 从数据库表中删除数据
- INSERT INTO - 向数据库表中插入数据
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
1、从person表中选择一列FirstName1、SELECT从数据表中选取一列或多列
SELECT FirstName FROM person
从person表中选取两列FirstName、LastName
SELECT FirstName、LastName FROM person
从person表中选取所有的列
SELECT * FROM person
2、DISTINCT从列表中返回唯一不同的值
从person中选取唯一不同的值
SELECT DISTINCT LastName FROM person
3、从表中选取数据,可将WHERE添加到SELECT中
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
从表中选取城市是北京的人
注意:字符串需要用引号来围绕,数字不用引号
SELECT * FROM person WHERE city = ‘beijing’
4、AND或OR可将多个条件在WHERE语句中结合起来
选取LastName和FirstName分别是Bush和George的人
SELECT * FROM person WHERE LastName =‘Bush’ AND FirstName=‘George’
选取LastName是Bush或FirstName是George的人
SELECT * FROM person WHERE LastName =‘Bush’ OR FirstName=‘George’
5、ORDER BY 根据指定的列进行排序
注意:默认是升序,如果希望是降序 则末尾加DESC
Company | OrderNumber |
---|---|
IBM | 3532 |
W3School | 2356 |
Apple | 4698 |
W3School | 6953 |
以字母顺序显示公司名称:
SELECT Company FROM orders ORDER BY Company
以字母逆顺序排序:
SELECT Company FROM orders ORDER BY Company DESC
以逆字母顺序显示公司名称,并以数字顺序显示顺序号:
SELECT Company FROM orders ORDER BY Company DESC ,OrderNumber ASC
6、INSERT INTO 语句用于向表格中插入新的行。
LastName | FirstName | Address | City |
---|---|---|---|
Carter | Thomas | Changan Street | Beijing |
INSERT INTO person VALUES(‘Carter’,‘Thomas’,‘changan Street’ ,‘Beijing’)
往LastName和Address里分别插入Wilson和Champs-Elysees
INSERT INTO person(LastName,Address)VALUES ('Wilson','Champs-Elysees')
7、Update 语句用于修改表中的数据。
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Champs-Elysees |
为Wilson的人添加FirstName
UPDATE person SET FirstName =‘Fied’ WHERE LastName =‘Wilson’
8、DELETE 用于删除表中的行
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Zhongshan 23 | Nanjing |
删除表中姓名为Wilson的信息
DELETE person WHERE LastName =‘Wilson’