声明:此MySQL基础学习源自尚硅谷。(推荐)b站官方链接:https://www.bilibili.com/video/BV1xW411u7ax?p=1
2.表的管理
1.表的创建 ★
| 语法: |
| create table 【if not exists】 表名( |
| 字段名 字段类型 【(长度) 约束】, |
| 字段名 字段类型 【(长度) 约束】, |
| 字段名 字段类型 【(长度) 约束】, |
| ... |
| 字段名 字段类型 【(长度) 约束】 |
| |
| ) |
案例:创建表Book
| CREATE TABLE book( |
| id INT,#编号 |
| bName VARCHAR(20),#图书名 |
| price DOUBLE,#价格 |
| authorId INT,#作者编号 |
| publishDate DATETIME#出版日期 |
| ); |
| |
| DESC book; # 查看表结构 |
案例:创建表author(作者表)
| CREATE TABLE IF NOT EXISTS author( |
| id INT, |
| au_name VARCHAR(20), |
| nation VARCHAR(10) # 最后一个字段不加逗号 |
| ) |
| DESC author; |
2.表的修改
| 语法 |
| alter table 表名 add|drop|modify|change column 列名 【列类型 约束】; |
| |
| |
| |
①修改列名
| alter table 表名 change column 旧列名 新列名 新列名类型; |
②修改列的类型或约束
| alter table 表名 modify column 列名 新类型 【新约束】; |
③添加新列
| alter table 表名 add column 列名 类型 【first|after 字段名】; |
④删除列
| alter table 表名 drop column 列名; |
⑤修改表名
| alter table 表名 rename to 新表名; |
3.表的删除
| DROP TABLE 【IF EXISTS】 表名; |
| |
| SHOW TABLES; # 查看当前库的所有表 |
通用的写法:
| DROP DATABASE IF EXISTS 旧库名; |
| CREATE DATABASE 新库名 【character set 字符集】; |
| |
| DROP TABLE IF EXISTS 旧表名; |
| CREATE TABLE 表名(...); |
4.表的复制
| INSERT INTO author VALUES |
| (1,'村上春树','日本'), |
| (2,'莫言','中国'), |
| (3,'冯唐','中国'), |
| (4,'金庸','中国'); |
| |
| SELECT * FROM Author; |
| SELECT * FROM copy2; |
1.仅仅复制表的结构
| #语法 |
| create table 表名 like 旧表; |
| |
| CREATE TABLE copy LIKE author; |
2.复制表的结构 + 数据
| # 语法 |
| create table 表名 |
| select 查询列表 from 旧表【where 筛选】; # 子查询 |
| |
| # 示例 |
| CREATE TABLE copy2 |
| SELECT * FROM author; |
| |
| #只复制部分数据 |
| CREATE TABLE copy3 |
| SELECT id,au_name FROM author WHERE nation='中国'; |
| |
| #仅仅复制某些字段 |
| CREATE TABLE copy4 |
| SELECT id,au_name FROM author WHERE 0; |
| 例题:将库myemployees库中表departments中的数据插入到库books中新表dept中 |
| use books; |
| create table if not exists dept |
| select department_id,department_name |
| from myemployees.departments; # 这种跨库操作可以使用库名.表名 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步