DDL(数据定义语言)

  • 库和表的管理
    • 库的管理:创建、修改、删除
    • 标的管理:创建、修改、删除
    • 创建:create
    • 修改:alter
    • 删除:frop

 1.库的管理

  • 库的创建

    • 语法:create database [if not exists] 库名 [character set 字符集名];

    • 案例:创建库book

CREATE DATABASE IF NOT EXISTS books;

  • 库的修改
    • 修改库名的语句【已停用】

RENAME DATABASE books TO new_books;

    • 更改库的字符集

ALTER DATABASE books CHARACTER SET gbk;

  • 库的删除

DROP DATABASE IF EXISTS books;

2.表的管理

  • 表的创建
    • 语法:

create table 【if not exists】 表名(

​ 列名 列的类型【(长度) 约束】,

​ 列名 列的类型【(长度) 约束】,

​ …

)

    • 案例1:创建表 book

CREATE TABLE book (
id INT,
bname VARCHAR (20),
price DOUBLE,
authorid INT,
publishdate DATETIME
) ;

    • 案例2:创建表author

CREATE TABLE author (
id INT,
au_name VARCHAR (20),
nation VARCHAR (10)
) ;

    • 案例3:查看创建的表

DESC author;

  • 表的修改
    • 语法:alter table 表名 add | drop | modify | change column 列名 【列类型 约束】;
    • 添加列:alter table 表名 add column 列名 类型 【first | after 字段名】;
    • 修改列的类型或约束:alter table 表名 modify column 列名 新类型 【新约束】;
    • 修改列名:alter table 表名 change column 旧列名 新列名 类型;
    • 删除列:alter table 表名 drop column 列名;
    • 修改表名:alter table 表名 rename 【to】 新表名;
    • 修改列名

ALTER TABLE book
CHANGE COLUMN publishdate pubdate DATETIME ;

  • 修改列的类型或约束

ALTER TABLE book
MODIFY COLUMN pubdate TIMESTAMP ;

  • 添加新列

ALTER TABLE author
ADD COLUMN annual DOUBLE ;

  • 删除列

ALTER TABLE author
DROP COLUMN annual ;

  • 修改表名

ALTER TABLE author
RENAME TO book_author ;

 

  • 表的删除
    • 语法:drop table if exists 表名;
    • 查看有哪些表:show tables;
    • if exists 只能在库,表的创建和删除的时候使用,列的操作不能使用。
    • 通用的写法:

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

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

  • 表的复制
    • 仅仅复制表的结构

CREATE TABLE copy LIKE book_author ;

    • 复制表的结构+数据

CREATE TABLE copy2
SELECT
*
FROM
book_author ;

    • 只复制部分数据

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

    • 仅仅复制某些字段(部分结构):设置where不满足,那么就没有数据

CREATE TABLE copy4
SELECT
id,
au_name
FROM
book_author
WHERE 0 ;

  • 习题集
    • 创建表dept1

USE myemployees;
CREATE TABLE dept1 (id INT (7), NAME VARCHAR (25)) ;

    • 将表departments中的数据插入新表dept2中

CREATE TABLE dept2
SELECT
department_id,
department_name
FROM
departments ;

    • 创建表emp5

CREATE TABLE emp5 (
id INT (7),
first_name VARCHAR (25),
last_name VARCHAR (25),
dept_id INT (7)
) ;

    • 将last_name的长度修改为50

ALTER TABLE emp5 MODIFY COLUMN last_name VARCHAR(50);

    • 根据表employees创建employee2

CREATE TABLE employee2 LIKE employees ;

    • 删除表emp5

DROP TABLE IF EXISTS emp5;

    • 将表empoyees2重命名为emp5

ALTER TABLE employee2
RENAME TO emp5 ;

    • 在表dept和emp5中添加新列test_column,并检查所做的操作

ALTER TABLE emp5
ADD COLUMN test_column INT ;
DESC emp5;

    • 直接删除表emp5中的列dept_id

ALTER TABLE emp5
DROP COLUMN dept_id ;

原文链接:https://blog.csdn.net/qq_21579045/article/details/98111827

上一篇:flask图书练习


下一篇:React Fiber