简介
结构化查询语句,无大小写区分
语法
含有两个部分:
1.DML:增删改查
2.DDL:创建删除数据库、表、索引、约束
CREATE DATABASE -- 创建新数据库
ALTER DATABASE -- 修改数据库
CREATE TABLE -- 创建新表
ALTER TABLE -- 变更(改变)数据库表
DROP TABLE -- 删除表
CREATE INDEX -- 创建索引(搜索键)
DROP INDEX -- 删除索引
表格去重
distinct
SELECT DISTINCT 列名称 FROM 表名称
条件查询
where
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
1.运算符:
between --某个范围内
like --搜索某种模式
<> --不等于,某些版本SQL中,可以写成!=
2.文本需要引号,数值不需要引号
多个条件查询记录过滤
and / or
1.and:条件都成立,显示
2.or:条件中有一个成立,显示
排序结果集
order by
1.order by:升序,小到大
2.order by desc:降序
字母顺序、数字顺序
数据插入
insert into
1.插入数据行:
INSERT INTO 表名称 VALUES (值1, 值2,....)
2.插入数据列:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
数据修改
update
UPDATE 表名称 SET 列名称 = 新值,列名称 = 新值 WHERE 列名称 = 某值
数据删除
delete
删除行:DELETE FROM 表名称 WHERE 列名称 = 值
选择记录数
top(数字或百分数)
1.SQL是top:
SELECT TOP 2 * FROM Persons --取头两条记录
SELECT TOP 50 PERCENT * FROM Persons --取50%记录
2.mysql是limit:
SELECT * FROM Persons LIMIT 5
3.oracle是rownum
SELECT * FROM Persons WHERE ROWNUM <= 5
条件查询列中的指定模式
like/not like
SELECT * FROM Persons WHERE City LIKE 'N%' --选取居住在以 "N" 开始的城市里的人
通配符;
1.% ①'%A'以A结尾 ②'A%'以A开头 ③'%A%'包含A
2.- 代替一个字符
3.[charlist] 字符列中的任何单一字符
SELECT * FROM Persons WHERE City LIKE '[ALN]%' --表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人;
4.[^charlist]或者[!charlist] 不在字符列中的任何单一字符
SELECT * FROM Persons WHERE City LIKE '[!ALN]%' --表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人;
条件查询中规定多个值
in
SELECT * FROM Persons WHERE LastName IN ('Adams','Carter') --表中选取姓氏为 Adams 和 Carter 的人
条件查询数值范围
between A and B
(包括A不包括B之间)
not between A and B
(范围之外)
可以是数值、文本或日期
</