1. 数据库表的创建与管理
1.1 创建数据库
命名规范
- 遵循数据库命名规则,避免与关键字冲突。
- 确保数据库命名唯一,避免重复。
- 当存在关联字段时,建议使用相同的命名以增强可读性和维护性。
创建语法
1 | CREATE DATABASE IF NOT EXISTS `库名` ( |
1.2 管理语法
- 查看所有数据库:
1
SHOW DATABASES;
- 使用指定数据库:
1
USE `数据库名`;
- 查看当前数据库:
1
SELECT DATABASE();
- 查看指定数据库中的所有表:
1
SHOW TABLES FROM `数据库名`;
- 修改数据库字符集(不能更改名称):
1
ALTER DATABASE `数据库名` CHARACTER SET `字符集`;
- 删除数据库:
1
DROP DATABASE IF EXISTS `数据库名`;
2. 创建和管理表
2.1 创建语法结构
1 | CREATE TABLE IF NOT EXISTS `表名` ( |
2.2 基于现有表创建表
1 | CREATE TABLE `新表名` AS |
2.3 查看表结构
1 | SHOW CREATE TABLE `表名`; |
2.4 表管理
字段操作
- 添加字段:
1
ALTER TABLE `表名` ADD COLUMN `属性名` `类型名` (FIRST | AFTER `字段名`);
- 修改字段:
1
ALTER TABLE `表名` MODIFY COLUMN `属性名` `类型名` (DEFAULT `默认值`);
- 修改字段名称:
1
ALTER TABLE `表名` CHANGE `旧名` `新名` `属性名` `类型名`;
- 删除字段:
1
ALTER TABLE `表名` DROP COLUMN `字段名`;
表操作
- 重命名表:
1
RENAME TABLE `表名` TO `新表名`;
- 删除表:
1
DROP TABLE IF EXISTS `表名`;
- 清空表:
1
TRUNCATE TABLE `表名`;
3. 数据处理:增删改(DML)
3.1 插入数据
- 逐条插入:
1
INSERT INTO `表名` (`字段名1`, `字段名2`, ...) VALUES (`值1`, `值2`, ...);
- 批量插入:
1
INSERT INTO `表名` (`字段名1`, `字段名2`, ...) VALUES (`值1`, `值2`, ...), (`值1`, `值2`, ...);
- 从查询结果插入:
1
INSERT INTO `表名` (`字段名1`, `字段名2`, ...) SELECT `字段名1`, `字段名2`, ... FROM `表名2`;
3.2 更新数据
1 | UPDATE `表名` |
3.3 删除数据
1 | DELETE FROM `表名` |
4. MySQL 8.0 新特性:计算列
4.1 了解计算列
1 | CREATE TABLE `test1` ( |
- 计算列
c总是基于a和b的和计算得出,且为虚拟列,不会实际存储数据。