SELECT * FROM 表名称
INSERT INTO 表名称 VALUES (值1, 值2,....)
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
DELETE FROM 表名称 WHERE 列名称 = 值
(1)TOP 子句 用于规定要返回的记录的数目
SELECT TOP 2 * FROM Persons //取Persons表前2条数据的所有*信息
SELECT TOP 50 PERCENT * FROM Persons //取Persons表前百分之50数据的所有*信息
(2)like 与 not like
SELECT * FROM Persons
WHERE City NOT LIKE '%lon%'
(3)like 时 可以使用 通配符
% 一个或多个
_ 一个
[] 字符列中的任何单一字符
[^] [!] 不在字符列中的任何单一字符
(4)IN 操作符允许我们在 WHERE 子句中规定多个值。
SELECT 列名
FROM 表名
WHERE column_name IN (value1,value2,...)
(5)BETWEEN ... AND 与 not between and
会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Adams' AND 'Carter'
(6)连接
JOIN: 如果2个表中有至少一个匹配,则返回行
LEFT JOIN: 左连接 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:右连接 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 全连接 只要其中一个表中存在匹配,就返回行
(7)union
合并两个或多个 SELECT 语句的结果集。
UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
(8)union all
UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
(9)SELECT INTO 语句
SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。
SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。
查询出数据并创建了一张表 这个sql可以任意为多个表连接查询
SELECT LastName,Firstname
INTO Persons_backup
FROM Persons
WHERE City='Beijing'
SELECT Persons.LastName,Orders.OrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P
(10)CREATE DATABASE 数据库名称 用于创建数据库。
CREATE DATABASE database_name
(11)CREATE TABLE 表名称 用于创建表
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
(12)约束
NOT NULL 非空
UNIQUE 唯一
PRIMARY KEY 主键
FOREIGN KEY 外键
CHECK check约束
DEFAULT 默认约束
(13)CREATE INDEX 创建索引
CREATE INDEX 索引名 ON 表 (字段,字段)
(14)drop 删除
DROP DATABASE 数据库名称
DROP TABLE 表名称
DROP INDEX 索引名 删除表格中的索引
(15)alter table 对已有的表中添加、修改或删除列。
ALTER TABLE 表名 --column_name列名
ADD column_name datatype
或 DROP COLUMN column_name
或 ALTER COLUMN column_name datatype
(16)auto_increment 每次插入新记录时,自动地创建主键字段的值。
mysql更实用 自动增长
orcale 会较复杂
(17)创建视图
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
(18)日期函数
now() 2019-01-08
curdate() 2019-01-08
curtime() 5:16:27 时分秒
date()
extract()
date_add()
date_sub()
datediff()
date_format()
getdate()
datepart()
dateadd()
dateDiff()
convert()
(19) is null 和 is not null
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL
(20)isnull() 函数用于规定如何处理 NULL 值。
ISNULL(UnitsOnOrder,0) 因此如果值是 NULL 则 ISNULL() 返回 0。
(21)常用函数
avg() 平均值
count() 计数 匹配指定条件的行数。
count(*) 计数 函数返回表中的记录数:
first() 函数返回指定的字段中第一个记录的值。
last() 函数返回指定的字段中最后一个记录的值。
max() 最大值
main() 最小值
sum() 求和
now() 现在的日期
round() 用于把数值字段舍入为指定的小数位数。
format()
len()
ucase() 函数把字段的值转换为大写
lcase() 函数把字段的值转换为小写
(21)其他
返回两个日期之间的时间 --- DATEDIFF(年、月、日、周···,日期,日期)
系统当前日期 --- now()
SELECT DISTINCT 列名称 FROM 表名称 ---去重
= <> 不等于 > < >= <= between like and or
SELECT Company, OrderNumber
FROM Orders
ORDER BY Company DESC, OrderNumber ASC
ASC DESC