尚硅谷mysql | DDL语言-表的管理

数据定义语言
库和表的管理

一、库的管理
创建、修改、删除
二、表的管理
创建、修改、删除

  • 创建:create
  • 修改:alter
  • 删除:drop

二、表的管理

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 author(
    id INT,
    au_name VARCHAR(20),
    nation VARCHAR(10)
);
DESC author;

2.表的修改

alter table 表名 add | drop | modify | change | column 列名 【列类型 约束】;

2.1 修改列名

alter table 表名 change column 旧列名 新列名 类型;

ALTER TABLE book CHANGE COLUMN publishdate puDate DATETIME;
DESC author;

2.2 修改列的类型或约束

alter table 表名 modify column 列名 新类型 【新约束】

ALTER TABLE book MODIFY COLUMN pudate TIMESTAMP;

2.3 添加新列

alter table 表名 add column 列名 类型 【first | after 字段名】;

ALTER TABLE author ADD COLUMN annual DOUBLE;

2.4 删除列

alter table 表名 drop column 列名

ALTER TABLE author DROP COLUMN annual;

2.5 修改表名

alter table 表名 rename 【to】新表名

ALTER TABLE author RENAME TO book_author;

3.表的删除

(if exists 只有在表的创建和删除中可以使用)

DROP TABLE IF EXISTS book_author;

SHOW TABLES;

通用的写法:

DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;

DROP TABLE IF EXISTS 旧表名;
CREATE TABLE 表名();

4.表的复制

INSERT INTO author VALUES
(1,'村上春树','日本'),
(2,'莫言','中国'),
(3,'冯唐','中国'),
(4,'金庸','中国');
SELECT * FROM author;

4.1仅仅复制表的结构

CREATE TABLE copy LIKE author;

4.2完全复制表

CREATE TABLE copy2
SELECT * FROM author;
SELECT * FROM copy2;

4.3只复制部分数据

CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE nation = '中国';
SELECT * FROM copy3;

4.4仅仅复制某些字段

CREATE TABLE copy4 
SELECT id,au_name
FROM author
WHERE 0;#此处是一个永远不会成立的条件
SELECT * FROM copy4;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容