MySQL --- 15♪ 进阶11 DDL数据库定义语言

/*进阶 11 DDL数据库定义语言

 

DDL 数据库定义语言

 

    库和表的管理

 

     一:库的管理:创建/修改/删除

 

     二:表的管理:创建/修改/删除

 

    创建: CREATE DATABASE [IF NOT EXISTS] 库名;

 

    修改: alter

 

    删除: DROP DATABASE [IF EXISTS] 库名;

 

*/

#一 : 库的管理

 

    #1 库的创建

 

CREATE DATABASE books;

 

CREATE DATABASE IF NOT EXISTS books;

 

   #2/库的修改

 

    #库名的修改,需要停止服务器,然后修改本地文件,重启服务器;

 

   #3 更新库的字符集为

 

ALTER DATABASE books

CHARACTER SET gbk;

 

   #4 库的删除

 

DROP DATABASE IF EXISTS books;

 

#二: 表的管理

 

/*  #1:表的创建

 

    create table [if not exists] 表名(

    列名 列的类型[长度 , 约束]

        列名 列的类型[长度 , 约束]

        列名 列的类型[长度 , 约束]

        列名 列的类型[长度 , 约束]

    )

    

    #2:表的修改 (下面有具体的栗子)

 

    alter table 表名 add/drop/modify/change column 列名 [列类型 约束];

    

    #3: 表的删除

 

    drop table [if exists] 表名;    

 

    #4: 删除表的全部数据  

 

    delete from 表名 where --;  

    

    #通用的开发经验:

 

        drop datebase if exists 旧的库名;

 

        create datebase 新库名;

        

        drop table if exists 旧表名;

        create table 表名();

 

    #4: 表的复制

 

    #1):仅仅复制表的结构(全部的字段)

 

    CREATE TABLE copy LIKE author;

    

    #2):复制表的结构和数据

 

    CREATE TABLE copy2 SELECT * FROM author;

 

    #3):只复制部分数据

 

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

 

    #4):仅仅复制某些字段(where 一个恒假的字段):

 

    CREATE TABLE copy4 SELECT id,author_name FROM author WHERE 0;  #永远为假

 

    

*/

 

  #创建book表

 

CREATE DATABASE IF NOT EXISTS books;

CREATE TABLE book(

    id INT,  #编号   

    bName VARCHAR(20) , #一个汉字或者字母都是一个字符,规定字符个数的长度

    price DOUBLE ,

    author INT,  #作者

    publishDate DATETIME #出版日期

);

 

  #创建表author

 

CREATE TABLE IF NOT EXISTS author(

    id INT,

    author_name VARCHAR(20),

    nation VARCHAR(10)

);

DESC author;

 

#2 表的修改:

 

   #修改列名: (必须要加上列名,顺带可以修改列的属性)

 

   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;

 

#3:表的删除

 

DROP TABLE IF EXISTS book_author;

SHOW TABLES;

 

#4: 表的复制

 

INSERT INTO AUTHOR

VALUES(1,'莫言','中国'),(2,'村上春树','中国');

    #1):仅仅复制表的结构(全部的字段)

    CREATE TABLE copy LIKE author;

    

    #2):复制表的结构和数据

    CREATE TABLE copy2

    SELECT * FROM author;

 

    #3):只复制部分数据

    CREATE TABLE copy3

    SELECT id,author_name

    FROM author

    WHERE nation='中国';

 

    #4):仅仅复制某些字段(1=2):

    CREATE TABLE copy4

    SELECT id,author_name

    FROM author

    WHERE 0;  #永远为假

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值