SQL语法汇总 —— 库与表的增删改查

SQL语法——创建与选择


USE 选择语句(选择一个数据库)

语法:USE 数据库名;

只有选择了一个数据库后,才可以在这个数据库内增删改查。

1
USE database_1; #选择database_1数据库

SHOW 展示语句(展示数据库或表格)

通过SHOW语句查看所有的数据库/数据库内所有的表

DATABASES & TABLES 数据库子句

语法:SHOW DATABASES;SHOW TABLES;

1
2
SHOW DATABASES; #查看所有的数据库
SHOW TABLES; #查看该数据库内所有表格

DESCRIBE 描述表语句(查看表的结构)

语法:DESCRIBE 表名

1
DESCRIBE table_1; #展示table_1表的结构信息

CREATE 创建语句(创建数据库/表)

通过CREATE语句可以创建数据库或表。

DATABASE 数据库子句(用于创建数据库)

语法:CREATE DATABASE 数据库名;

1
CREATE DATABASE database_1; #创建一个名为database_1的数据库

TABLE 表格子句(用于创建表格)

语法-1:CREATE TABLE 表名;
语法-2:CREATE TABLE 表名{字段名 数据类型 约束};

创建表格之前,需要先选择一个已创建的数据库。
创建时可以在大括号内描述该表格的结构。

1
2
3
4
5
6
7
8
9
10
CREATE TABLE table_1; #创建一个名为table_1的空表
CREATE TABLE table_1 {
col_1 int PRIMARY KEY ,
col_2 varchar(255) NOT NULL
}; #创建一个名为table_1的空表,主键为col_1,col_2不可为空
CREATE TABLE table_1 {
col_1 int,
col_2 varchar(255),
NOT NULL (col_1, col_2)
}; #创建一个名为table_1的空表,col_1与col_2不可为空

有关约束的部分在后面。


DROP 删除语句(删除数据库/表/索引/字段)

DATABASE 数据子句

语法:DROP DATABASE 数据库名;

1
DROP DATABASE database_1; #删除database_1数据库

TABLE 表格子句

语法:DROP TABLE 表名;

1
DROP TABLE table_1; #删除table_1表

INDEX 索引子句

语法:...DROP INDEX 索引名;

MySQL中:DROP INDEX要指定表,所以要写在ALTER语句后面

1
2
#MySQL
ALTER TABLE table_1 DROP INDEX index_1; #删除table_1表中的index_1索引

COLUMN 字段子句

语法:...DROP COLUNM 字段名;

MySQL中:DROP COLUNM要指定表,所以要写在ALTER语句后面

1
2
#MySQL
ALTER TABLE table_1 DROP COLUNM col_1; #删除table_1表中的col_1字段

TRUNCATE TABLE 清空表内数据

语法:TRUNCATE TABLE 表名;

TRUNCATE TABLE 只清空表内数据,不删除表。


ALTER TABLE 修改表语句(在表中添加、删除、修改)

ADD 添加子句(新增字段)

语法:ALTER TABLE 表名 ADD 字段名 数据类型 约束;

1
2
#添加字段
ALTER TABLE table_1 ADD col_new int; #在table_1表中新增int类型的col_new字段

DROP COLUMN / INDEX 删除字段/索引

在DROP中提到过

1
2
3
#MySQL
ALTER TABLE table_1 DROP COLUNM col_1; #删除table_1表中的col_1字段
ALTER TABLE table_1 DROP INDEX index_1; #删除table_1表中的index_1索引

AUTO_INCREMENT 递增子句(让字段的值自动递增)

语法:ALTER TABLE 表 AUTO_INCREMENT=值

当一个表中有字段被约束为AUTO_INCREMENT时才能使用。
AUTO_INCREMENT=val设置该表中AUTO_INCREMENT字段的递增值从val开始。(从现在起)

1
ALTER TABLE table_1 AUTO_INCREMENT=100; #让表table_1的AUTO_INCREMENT字段从100开始递增

约束

当描述表格时,可以指定约束条件,其包括:

约束关键字 描述
NOT NULL 该字段不能为空
UNIQUE 该字段值不能重复
PRIMARY KEY 主键(可看作NOT NULL与UNIQUE结合,用于唯一标识一条记录)
FOREIGN KEY 外键(保证该表中的这个字段数据与另一个表中值有参照完整性)
CHECK 保证该字段的值符合给指定条件
DEFAULT 指定一个默认值
AUTO_INCREMENT 该字段的值从1开始,每条记录递增1

NOT NULL 非空约束

NOT NULL 约束强制某一字段不为空,若不为该字段指定值则无法插入记录。