库操作
建库
建库使用的是 CREATE DATABASE 语句,语法规则为:
CREATE DATABASE <DATABASE_NAME>;
DATABASE_NAME 为要创建的数据库名。
示例:
-- 创建test库
CREATE DATABASE test
删库
删库使用的是 DROP DATABASE 语句,语法规则为:
DROP DATABASE <DATABASE_NAME>
示例:
-- 删除test库
DROP DATABASE test
正所谓"删库有风险,跑路需谨慎",在进行这步操作之前还需三思。
表操作
建表
建表使用的是 CREATE TABLE 语句,语法规则为:
CREATE TABLE <TABLE_NAME> (...<FIELDS>)
TABLE_NAME 为创建的表名;FIELDS 为附加的字段声明。
示例:
-- 在wjt20库下创建一个user表,并附加具体字段,默认数据库引擎是InnoDB
CREATE TABLE xxx.user(
-- int类型,长度10,非空,自增,注释为"主键id",名为"id"的字段
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键id',
-- varchar类型,长度10,字符集类型为"utf8mb4_unicode_ci",默认值为NULL,名为"name"的字段
name VARCHAR(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
-- int类型,长度3,无符号,非空,默认值为0,名为"age"的字段
age INT(3) UNSIGNED NOT NULL DEFAULT '0',
-- 主键为"id"
PRIMARY KEY(id)
) ENGINE = InnoDB;
删表
删表使用的是 DROP TABLE 语句,语法规则为:
TRUNCATE <TABLE_NAME>
示例:
TRUNCATE xxx.user
清空表中数据
清空表中的数据使用的是 TRUNCATE 语句,语法规则为:
TRUNCATE <TABLE_NAME>
示例:
TRUNCATE <TABLE_NAME>
增删改查
增加记录
增加记录使用的是 INSERT INTO 语句,语法规则为:
INSERT INTO <TABLE_NAME> [(...<FIELDS>)] VALUES(...<VALUES>)
FIELDS 为字段名集合(可选);VALUES 为插入的记录值。
增加单条记录的示例:
INSERT INTO xxx.user(id, name, age)
VALUES(1, "小明", 15)
批量增加记录的示例:
INSERT INTO xxx.user(id, name, age)
VALUES(1, "小智", 10),(2, "小刚", 10),(3, "小霞", 10)
查询记录
查询记录使用的是 SELECT FROM 语句,语法规则为:
SELECT <FIELDS> [AS <NEW_FIELDS>] FROM <TABLE_NAME> [WHERE ...]
FIELDS 是查询的字段名(也可以用 * 获取所有字段),多个字段名用","连接;NEW_FIELDS 是新起的字段名(可选);
示例:
SELECT * FROM xxx.user -- 查找所有记录
SELECT name FROM xxx.user WHERE id=1 -- 查找单条记录的一个字段
-- 给查询的字段取个别名
SELECT name AS
user_name
FROM
xxx.user
WHERE
id = 1
修改记录
修改记录使用的是 UPDATE SET 语句,语法规则为:
UPDATE <TABLE_NAME> SET <KEY_VALUE_PAIR> [WHERE ...]
KEY_VALUE_PAIR 是键值对。
示例:
UPDATE
xxx.user
SET
name = "小红",
age = 100
WHERE
id = 1
删除记录
删除记录使用的是 DELETE 语句,语法规则为:
DELETE FORM <TABLE_NAME> [WHERE ...]
示例:
-- 删除id为1的记录
DELETE FROM xxx.user WHERE id=1
表结构操作
添加字段
在表中添加字段,使用的是 ALTER ADD,语法规则为:
ALTER TABLE <TABLE_NAME> ADD <FIELD> ...<FIELD> [AFTER <FIELD>];
如果不加 AFTER,默认会把新增的字段添加到表结构的尾部。
示例:
-- 在user表尾部添加一个group_id字段
ALTER TABLE xxx.user ADD group_id INT(10) NOT NULL;
修改字段
修改表中某个字段的结构,使用的是 ALTER CHANGE 语句,语法规则为:
ALTER TABLE <TABLE_NAME> CHANGE <FIELD> ...<FIELD>
示例:
-- user表的name字段长度由10扩展到15
ALTER TABLE xxx.user
CHANGE name
name VARCHAR(15)
删除字段
删除表中某个字段,使用的是 ALTER DROP 语句,语法规则为:
ALTER TABLE <TABLE_NAME> DROP <FIELD>
示例:
-- 删除user表中的name字段
ALTER TABLE xxx.user DROP name
其他
ALTER ADD 可以进行以下操作:
1.修改主键索引,示例:
-- 将主键改为name字段
ALTER TABLE xxx.user ADD PRIMARY KEY(name)
2.添加唯一索引,示例:
-- 给name字段添加唯一索引
ALTER TABLE xxx.user ADD UNIQUE(name)
3.添加普通索引,示例:
-- 给name字段添加普通索引
ALTER TABLE xxx.user ADD INDEX(name)