给自己的SQL教程

来源:互联网 发布:绝地求生 dx12优化 编辑:程序博客网 时间:2024/06/09 22:45

SQL UNION操作符

UNION操作符用于合并两个或多个SELECT语句的结果集。UNION内部的每个SELECT语句必须拥有相同数量的列,每个列也需要有相似的数据类型。并且列的顺序必须也相同。

语法:
SELECT column_names FROM table1
UNION
SELECT column_names FROM table2;
默认该操作符是选取不同的值。如果允许重复的值,请使用UNION ALL。

UNION ALL 语法:
SELECT column_names FROM table1
UNION ALL
SELECT column_names FROM table2;

UNION不能用于显示两个表中所有的值,因为重复的值不会进行显示。UNION ALL可以显示出完整的值,包括重复的值。

带有WHERE的SQL UNION ALL
下面的SQL语句使用UNION ALL从website和apps表中选取出所有CN的数据(可以有重复的值)
SELECT country ,name FROM websites WHERE country=’CN’
UNION ALL
SELECT country,app_name FROM apps WHERE country=’CN’
ORDER BY country;

SQL SELECT INTO 语句

通过sql可以复制一个表信息到另一个表,SELECT INTO语句从一个表复制数据,然后把数据插入到另一个新表中。(MYSQL不支持这个语句,它使用的是insert into语句。)当然还可以用以下语句来拷贝表结构及数据。CREATE TABLE 新表 SELECT * FROM 旧表。

SQL SELECT INTO 语法:
//复制全部列
SELECT * INTO newtable [IN externaldb]
FROM table1;
//复制部分列
SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1;

SQL CREATE DATABASE/TABLE语句

CREATE DATABASE语句用于创建数据库。
举个栗子:CREATE DATABASE my_db

GREATE TABLE用于创建数据库中的表,表由行和列组成,每个表都必须要有一个表名。
CREATE TABLE table_name{
column_name1 data_type(size),
column_name2 datatype(size),
..
};
column是表中的列的名称。data_type是规定列的数据类型,size规定了表的最大长度。

SQL约束Constraints()

SQL约束用于规定表中的数据规则。
如果存在违反约束的数据行为,行为会被约束终止。
约束是在创建表的时候进行规定(通过CREATE TABLE语句),或者在表创建之后规定(通过ALERT TABLE语句)。
CREATE TABLE table_name(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) contraint_name,
);

SQL中我们有以下常用约束:
NOT NULL-指示某列不能存储null值。
UNIQUE-保证某列的每行必须由唯一值(不能重复)
PRIMARY KEY-NOT NULL和UNIQUE的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快捷的找到表中的一个特定的记录。
FOREIGN KEY-保证一个表中的数据匹配到另一个表中的值的参照完整性。
CHECK-保证列中的值符合指定的条件。
DEFAULT-规定没有给列赋值时的默认值。