ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
## 库操作 - 查看所有数据库 `mysql> SHOW DATABASES;` - 创建数据库并指定编码 `mysql> CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;` - 查看创建数据库的详细信息 `mysql> SHOW CREATE DATABASE dbname;` - 修改数据库编码 `mysql> ALTER DATABASE dbname DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;` - 使用数据库 `mysql> USE dbname;` - 删除数据库 `mysql> DROP dbname;` ## 表操作 - 创建表 `mysql> CREATE TABLE 表名(列名 数据类型 [not null] [primary key],列名 数据类型 [not null],..);` - 查看创建表的详细信息 `mysql> SHOW CREATE TABLE table_name;` - 查看所有表 `mysql> SHOW TABLES;` - 删除表 `mysql> DROP TABLE table_name;` - 清空表 `mysql> truncate table table_name;` - 修改表名 `mysql> RENAME TABLE old_name TO new_name;` - 查看表字段详情 `mysql> DESC table_name;` - 添加字段(`AFTER name` 添加到 `name` 字段后面) `mysql> ALTER TABLE table_name ADD column_name varchar(50) AFTER name;` - 删除字段 `mysql> ALTER TABLE table_name DROP COLUMN column_name;` - 修改字段类型 `mysql> ALTER TABLE table_name CHANGE old_name new_name int(10);` - 修改字段 `mysql> ALTER TABLE table_name MODIFY column_name varchar(100); ` ## 增删改查 - 插入 `mysql> INSERT INTO table_name(字段1,字段2...) VALUES(值1,值2...),(值1,值2...); ` - 删除 `mysql> DELETE FROM table_name WHERE id=1;` - 更新 `mysql> UPDATE table_name SET name="jack",age=18 WHERE id=1;` - 查询 `mysql> SELECT * FROM table_name WHERE age>18 ORDER BY id DESC;` ## 将一张表里的数据插入到另一张表 - 如果两张表的字段一致,并且希望插入全部数据 `mysql> INSERT INTO 目标表 SELECT * FROM 来源表;` - 如果只希望导入指定字段 `mysql> INSERT INTO 目标表(字段1,字段2,...) SELECT 字段1,字段2,... FROM 来源表;` - 如果需要只导入目标表中不存在的记录 ``` mysql> INSERT INTO 目标表(字段1,字段2,...) SELECT 字段1,字段2,... FROM 来源表 WHERE not exists (select * from 目标表 where 目标表.比较字段 = 来源表.比较字段); ```