1个数据库通常包含一个或多个表。每个表由一个名字标识
1.SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
2.CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
3.SELECT 列名称 FROM 表名称
4.SELECT * FROM 表名称
:星号(*)是选取所有列的快捷方式
5.SELECT DISTINCT 列名称 FROM 表名称//去除重复
6.WHERE 子句用于规定选择的标准。
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
使用 WHERE 子句
SELECT * FROM Persons WHERE City=’Beijing’
使用 AND 来显示所有姓为 “Carter” 并且名为 “Thomas” 的人:
SELECT * FROM Persons WHERE FirstName=’Thomas’ AND LastName=’Carter’
使用 OR 来显示所有姓为 “Carter” 或者名为 “Thomas” 的人:
SELECT * FROM Persons WHERE firstname=’Thomas’ OR lastname=’Carter’
7.我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):
SELECT * FROM Persons WHERE (FirstName=’Thomas’ OR FirstName=’William’)
AND LastName=’Carter’
8.ORDER BY 语句用于根据指定的列对结果集进行排序。
SELECT Company, OrderNumber FROM Orders ORDER BY Company,
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
//默认为升序desc为降序
9.INSERT INTO 语句
INSERT INTO 表名称 VALUES (值1, 值2,….)
(插入的值的顺序要和表字段对应)
10Update 语句用于修改表中的数据。
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
11.DELETE 语句用于删除表中的行
DELETE FROM 表名称 WHERE 列名称 = 值
DROP TABLE 表名,删表。
11.TOP 子句用于规定要返回的记录的数目。
SELECT TOP number | percent column_name(s)
FROM table_name
MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的
“Persons” 表中选取头两条记录。
现在,我们希望从上面的 “Persons” 表中选取 50% 的记录
SELECT TOP 50 PERCENT * FROM Persons
12.LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SELECT * FROM Persons
WHERE City LIKE ‘N%’
N%表示查询所有以N开头的%N表示以N结尾%N表示中带N的%
使用 _ 通配符
上面的 “Persons” 表中选取名字的第一个字符之后是 “eorge” 的人
SELECT * FROM Persons
WHERE FirstName LIKE ‘_eorge’
接下来,我们希望从 “Persons” 表中选取的这条记录的姓氏以 “C” 开头,然后是一个任意字符,然后是 “r”,然后是任意字符,然后是 “er”:
SELECT * FROM Persons
WHERE LastName LIKE ‘C_r_er’
我们希望从上面的 “Persons” 表中选取居住的城市不以 “A” 或 “L” 或 “N” 开头的人:
SELECT * FROM Persons
WHERE City LIKE ‘[!ALN]%’
13IN 操作符允许我们在 WHERE 子句中规定多个值。
现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人:
SELECT * FROM Persons
WHERE LastName IN (‘Adams’,’Carter’)
操作符 BETWEEN … AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期
如需以字母顺序显示介于 “Adams”(包括)和 “Carter”(不包括)之间的人,请使用下面的 SQL
SELECT * FROM Persons
WHERE LastName
BETWEEN ‘Adams’ AND ‘Carter’
显示范围之外的人,请使用 NOT 操作符:
SELECT * FROM Persons
WHERE LastName
NOT BETWEEN ‘Adams’ AND ‘Carter’
14.使用表名称别名
SELECT po.OrderID, p.LastName, p.FirstName
FROM Persons AS p, Product_Orders AS po
WHERE p.LastName=’Adams’ AND p.FirstName=’John’
使用as关键字可以给表器小名 orcl的as可以省略不写mysql忘了也没时间去试了。
15.SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
OR Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName
JOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行