UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
select a from b
union
select a from c
UNION 操作符选取不同的值。 UNION ALL操作符选取重复的值。
SELECT INTO 语句
SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。
MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT 。
这是把table2的所有数据复制到table1中:
INSERT INTO table2
SELECT * FROM table1;
复制 "apps" 中的数据插入到 "Websites" 中:
INSERT INTO Websites (name, country)
SELECT app_name, country FROM apps;
CREATE DATABASE 语句
CREATE DATABASE 语句用于创建数据库。
CREATE DATABASE dbname; 这是创建一个dbname的数据库
CREATE TABLE 语句
CREATE TABLE 语句用于创建数据库中的表。
表由行和列组成,每个表都必须有个表名。
语法:
CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
column_name 参数规定表中列的名称。
data_type 参数规定列的数据类型(例如 varchar、integer、decimal、date 等等)。
size 参数规定表中列的最大长度。
约束
SQL 约束用于规定表中的数据规则。
如果存在违反约束的数据行为,行为会被约束终止。
约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。
NOT NULL - 指示某列不能存储 NULL 值。
UNIQUE - 保证某列的每行必须有唯一的值。
PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
CHECK - 保证列中的值符合指定的条件。
DEFAULT - 规定没有给列赋值时的默认值。
NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束。
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
PRIMARY KEY 约束唯一标识数据库表中的每条记录。
主键列不能包含 NULL 值。
撤销PRIMARY KEY约束时,不论约束条件为一列还是多列,对于MySQL,撤销都是
alter table persons
drop primary key
一个表中的 FOREIGN KEY 指向另一个表中的 UNIQUE KEY(唯一约束的键)。
CHECK 约束用于限制列中的值的范围。如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。
DEFAULT 约束用于向列中插入默认值。
如果没有规定其他的值,那么会将默认值添加到所有的新记录。
CREATE INDEX 语句
CREATE INDEX 语句用于在表中创建索引。,索引使数据库应用程序可以更快地查找数据。
例如:
在 "Persons" 表的 "LastName" 列上创建一个名为 "PIndex" 的索引:
CREATE INDEX PIndex
ON Persons (LastName)
DROP INDEX 语句用于删除表中的索引。
ALTER TABLE 语句
ALTER TABLE 语句用于在已有的表中添加、删除或修改列。
ALTER TABLE table_name
ADD column_name datatype
视图(views)
CREATE VIEW 语句
您可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,也可以呈现数据,就像这些数据来自于某个单一的表一样。
语法
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition 他所展示出来的都是最新数据
CREATE OR REPLACE VIEW 语法来更新视图
NULL 值
NULL 值代表遗漏的未知数据。
NULL不等于0 !!!
NULL
表示的是什么都没有,它与空字符串、0 这些是不等价的,是不能用于比较的! 如: <expr> = NULL
、 NULL = ''
得到的结果为 false
,判断 NULL
必须使用 IS NULL
或 IS NOT NULL
进行判断。