# 数据库管理 - SQL 基础语法

# 创建数据表

数据表是数据存储的基本结构之一,支持查询、修改、删除和新增等多种数据操作,也能与其他的数据表建立关联,实现多表操作。

-- 创建表 (基础)
CREATE TABLE tableName(
    column1 datatype [NOT NULL] [constraint],
    cloumn2 datatype [NOT NULL] [constraint],
    cloumn3 datatype [NOT NULL] [constraint],
    ...
)

# 数据插入

# 1. INSERT INTO

在 DB2 等数据库中,向表中插入新数据常用的是 SQL 基础语法中的 INSERT INTO 语句。
INSERT INTO 语句要求要插入数据的表 (tableName) 必须是存在的。该语句可以实现一行记录的导入或多行记录的批量导入,还可以指定更新的数据列等。指定列名时,可以只插入列出字段的数据,不指定列名和列序时,需要按照表结构设计的字段顺序和列数在 VALUES 排列好所有要插入的数据值。另外,还可以和 SELECT 查询语句关联,可将查询表中查询出的数据按照格式插入到目标表中。

-- 一行记录导入
INSERT INTO tableName (field1,field2,field3,...)
VALUES (value1,value2,value3,...);

-- 多行记录导入
INSERT INTO tableName (field1,field2,field3,...)
VALUES
(value11,value12,value13),
(value21,value22,value23),
...

-- 查询导入
INSERT INTO tableName (field1,field2,field3,...)
SELECT Afield1,Afield2,Afield3,...
FROM TableA
[WHERE Afield1 = ""]

# 2.SELECT INTO

SELECT INTO 可以从已有的表中查询出数据放入新表中,往往用于表的信息复制。不过有些数据库如 DB2、MySQL 等不支持 SELECT INTO 语句,因此,使用时需要注意数据库是否支持该语句。
INSERT INTO 语句要求查询表和目标表都必须是已经存在的,而 SELECT INTO 语句要求查询表存在,而目标表不能存在,目标表会在数据插入时创建。