(坑Open Office,这排版。。。)
1、distinct列出不同值,过滤掉相同的值
例:company中有两个相同的值比如(apple和apple)时,则只取出一个值
SELECT DISTINCT Company FROM Orders
只会列出一个apple
2、通配符
|
通配符
|
描述
|
%
替代一个或多个字符
_
仅替代一个字符
[charlist]
字符列中的任何单一字符
[^charlist]
或者
[!charlist]
不在字符列中的任何单一字符
3、BETWEEN
操作符
操作符 BETWEEN
... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
例:SELECT
* FROM Persons WHERE LastName BETWEEN
'Adams' AND
'Carter'
注:mysql会将adams与carter都放入结果集。
如需使用上面的例子显示范围之外的人,请使用
NOT 操作符:
SELECT * FROM Persons
WHERE LastName
NOT
BETWEEN 'Adams' AND 'Carter'
4、表连接
(1)SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName
说明:LEFT JOIN 关键字会从左表 (Orders) 中没有匹配的行。 左表会全部列出,右表有则列出,没有则空。
2)RIGHT JOIN 关键字会从右表 (Persons) 中没有匹配的行。
3)SELECT Persons.LastName,Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName
FULL JOIN 关键字会从左表 那里返回所有的行。如果 "Orders" 中没有匹配,或者如果 4)JOIN 、 INNER JOIN:内连接,在表中存在至少一个匹配时,INNER JOIN Orders ON Persons.Id_P = Orders.Id_P ORDER BY Persons.LastName
说明:
INNER JOIN
关键字在表中存在至少一个匹配时返回行。如果
"Orders" 中没有匹配,就不会列出这些行。
、
union
SELECT 语句的结果集。
请注意,SELECT 语句必须拥有相同数量的列。上:列也必须拥有相似的数据类型。同时,每条 union会过滤掉重复值,union all不会
例:SELECT E_Name FROM Employees_China SELECT E_Name FROM Employees_USA
UNION ALL
当两张表结果集对应的列名不同时,结果集中列名为第一张表列名

6、Select
into 可以加where条件
例1、(SELECT
Persons_backup FROM Persons备份整张表
(
2)
Persons
'Backup.mdb' FROM Persons 向另外一个数据库中copy表
例2、
LastName,FirstName 只拷贝某些列
Persons.LastName,Orders.OrderNo INNER
JOIN
Persons.Id_P=Orders.Id_P 利用表连接7、表约束(Constraints)
(1)not
null
(2)PRIMARY
KEY 拥有自动定义的
CREATE
TABLE PersonsId_P
int NOT NULL,
LastName
varchar(255) NOT NULL,monospace'>FirstName
varchar(255),monospace'>Address
varchar(255),monospace'>City
varchar(255),monospace'>UNIQUE
(Id_P)
)
如果需要命名
约束,请使用下面的
CREATE TABLE Persons(
LastName varchar(255) NOT NULL,monospace'>FirstName varchar(255),monospace'>Address varchar(255),
City varchar(255),
)
当表已被创建时,如需在 UNIQUE 约束,请使用下列 ALTER TABLE Persons 如需命名 约束,请使用下面的 ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
如需撤销 DROP INDEX uc_PersonID
(3)约束(主键)
CREATE TABLE PersonsPRIMARY KEY (Id_P)
PRIMARY KEY 约束,以及为多个列定义 SQL 语法:
CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,Arial">如果在表已存在的情况下为 SQL:
ADD PRIMARY KEY (Id_P)
如果使用 NULL 值(在表首次创建时)。
如需撤销
SQL:
ALTER TABLE Persons (4)
约束(外键)
一个表中的
PRIMARY KEY。
例:
CREATE TABLE Orders(5)SQL CHECK 约束
CHECK 约束用于限制列中的值的范围。
如果对单个列定义 约束,那么此约束会在特定的列中对值进行限制。
例:
)
8、
create index(创建索引
)
CREATE INDEX index_name 创建唯一索引:CREATE UNIQUE INDEX index_name ON table_name (column_name)
创建一个名为PersonIndex的索引 CREATE INDEX PersonIndex ON Person (LastName)
如果希望以降序索引某个列中的值,您可以在列名称之后添加保留字?DESC: CREATE INDEX PersonIndex ON Person (LastName DESC)
希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开: CREATE INDEX PersonIndex ON Person (LastName,FirstName)
删除索引:ALTER TABLE table_name DROP INDEX index_name
9、ALTER语句
ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
添加列:ALTER TABLE table_name ADD column_name datatype
删除列:ALTER TABLE table_name DROP COLUMN column_name
要改变表中列的数据类型,请使用下列语法: ALTER TABLE table_name ALTER COLUMN column_name datatype
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!