TOP
TOP 子句用于规定要返回的记录的书目。
注意:并非所有的数据库系统都支持 TOP 子句。
SQL Server 的语法:SELECT TOP number | percent column_name(s) FROM table_name
MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的
MySQL 语法:SELECT column_name(s) FROM table_name LIMIT number
Oracle 语法:SELECT column_name(s) FROM table_name WHERE ROWNUM <= number
LIKE
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
语法:SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern
通配符
通配符 描述 % 替代一个或多个字符 _ 仅替代一个字符 [charlist] 字符列中的任何单一字符 [^charlist]
或者
[!charlist]
不在字符列中的任何单一字符
IN
IN 操作符允许我们在 WHERE 子句着哦您能够规定多个值。
语法:SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...)
BETWEN
操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
语法:SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
注意:不同的数据库对BETWEEN ... AND 操作符的处理方式是有差异的。
Alias
表的语法:SELECT column_name(s) FROM table_name AS alias_name
列的语法:SELECT column_name AS alias_name FROM table_name
JOIN
join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
Join 和 Key
有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行Join。
列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。
在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。
不同的 SQL JOIN
* JOIN:如果表中有至少一个匹配,则返回行
* LEFT JOIN:即使右表中没有匹配,也从左标返回所有行
* RIGHT JOIN:即使左表中没有匹配,也从右表返回所有行
* FULL JOIN:只要其中一个表中存在匹配,就返回行
UNION 和 UNION ALL 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
注意:UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须用于相似的数据类型。同时,每条SELECT 语句中的列的顺序必须相同。
语法:SELECT column_name(s) FROM table_name1 UNION (ALL) SELECT column_name(s) FROM table_name2
默认的,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
SELECT INTO
SELECT INTO 语句可用于创建表的备份。
语法:SELECT * INTO new_table_name [IN externaldatabase ] FROM old_table_name
CREATE DATABASE
语法:CREATE DATABASE database_name
CREATE TABLE
语法:CREATE TABLE 表名称
{
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
}
数据类型 描述
- integer(size)
- int(size)
- smallint(size)
- tinyint(size)
仅容纳整数。在括号内规定数字的最大位数。
- decimal(size,d)
- numeric(size,d)
容纳带有小数的数字。
"size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。
char(size) 容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。
在括号中规定字符串的长度。
varchar(size) 容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。
在括号中规定字符串的最大长度。
date(yyyymmdd) 容纳日期。
约束
NOT NULL
约束强制不接受 NULL 值。
UNIQUE
约束唯一表示数据库表中的每条记录。
命名约束 CONSTRAINT name UNIQUE
PRIMARY KEY
主键必须包含唯一的值,每个表都应该有一个主键,并且每个表只能有一个主键。
命名约束 CONSTRAINT name PRIMARY KEY
撤销约束 DROP CONSTRAINT name 或 DROP PRIMARY KEY
FOREIGN KEY
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
用于预防破坏表之间连接的动作。也能防止非法数据插入外键列,因为他必须是它只想的那个表中的值之一。
CHECK
CHECK 约束用于限制列中的值的范围。
DEFAULT
DEFAULT 约束用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新纪录。
CREATE INDEX
CREATE INDEX 语句用于在表中创建索引。在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。
注意:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。
语法:CREATE INDEX index_name ON table_name (column_name)
创建唯一索引:CREATE UNIQUE INDEX index_name ON table_name(column_name)
DROP INDEX
DROP INDEX index_name ON table_name
TRUNCATE TABLE 表名称 仅仅删除表个中的数据。
ALTER TABLE
添加列:ALTER TABLE table_name ADD column_name datatype
删除列:ALTER TABLE table_name DROP COLUMN column_name
AUTO INCREMENT
Auto-increament 会在新纪录着插入表中时生成一个唯一的数字。自动地创建主字段的值。
VIEW(试图)
试图是可视化的表。试图包含行和列,就像一个真实的表。试图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向试图添加SQL函数、WHER以及JOIN语句,我们也可以提交数据,就像这些来自某个单一的表。
注意:数据录的设计和结构不会受到试图中的函数、where或join语句的影响。
语法:CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition.
注意:试图总是显示最近的数据。每当用户查询试图时,数据库引擎通过使用SQL语句来重建数据。
更新试图语法:CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
DATE