Mysql_DDL数据管理语言

1 篇文章 0 订阅

#DDL数据管理语言

数据定义语言

库和表的管理

        一、库的管理

            创建、修改、删除

        二、表的管理

            创建、修改、删除

            创建:create

            修改:alter

            删除:drop

#一、库的管理

        #1、库的创建

            语法:create database [IF NOT EXISTS] 库名;

            IF NOT EXISTS意思是如果库存在就不创建了,如果没有存在就创建

        #案例:创建库books

            CREATE DATABASE IF NOT EXISTS books;

            CREATE DATABASE IF NOT EXISTS books CHARACTER SET ;

        #2、库的修改

        #更改库的字符集 一般不更改默认字符集 也可以创建库的时候修改字符集

            ALTER DATABASE books CHARACTER SET utf8;

        #3、库的删除

        #IF EXISTS如果数据库存在 则删除数据库

            DROP DATABASE IF EXISTS books;

 

#二、表的创建

    #1.表的创建 (重点)

    语法:

    create table 表名(

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

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

        .... ....

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

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

    );

    #案例:创建表book

        CREATE TABLE book(

            id INT,#编号

            bName VARCHAR(20),#图书名

            price DOUBLE,#价格

            authorId INT,#作者编号

            publishDate DATETIME#出版日期

        );

    #案例:创建表author

        CREATE TABLE author(

            au_id INT,#作者id

            au_Name VARCHAR(20),#作者名

            natiom VARCHAR(10)#国籍

        );

 

    #2、表的修改

        语法:

        alter table 表名 add(添加列名)|drop(删除列)|modify(修改列的类型)|change(修改列名) column 列名 【列类型 约束】

          #Ⅰ.修改列名 change column

          #语法:alter table 表名 change column 旧的列名 新的列名 列的类型;(varchar int ) 其中column可以省略

              #案例:修改book表中 publishDate列名字 新名为 publish_Date

                  ALTER TABLE book CHANGE COLUMN publishDate publish_Date DATETIME;

                  ALTER TABLE book_author CHANGE COLUMN au_id authorId INT;

          #Ⅱ.修改列的类型或约束 modify column

          #语法:alter table 表名 modfiy column 列名 新的列的类型;(varchar int )

              #案例:修改publish_Date列中的类型改为timestamp

                  ALTER TABLE book MODIFY COLUMN publish_Date TIMESTAMP;

          #Ⅲ.添加新列(添加字段) add column

          #语法:alter table 表名 add column 新列名 列的类型;

              #案例:为book表中添加一个新列 列名为annual年薪

                  ALTER TABLE book ADD COLUMN annual DOUBLE; 

          #Ⅳ.删除列 drop column

          #语法:alter table 表 drop column 列名;

              #案例:将annual列删除

                  ALTER TABLE book DROP COLUMN annual;

          #Ⅴ.修改表名 rename to

          #语法:alter table 旧表名 rename to 新表名;

              #案例:将author表名修改为book_author

                  ALTER TABLE author RENAME TO book_author;

    

    #3.表的删除

            语法:

            drop table if exists 表;

            if exists 如果存在再删除

        #案例:删除book_author表

            DROP TABLE IF EXISTS book_author;

    #通用的写法:

            DROP DATABASE IF EXISTS 旧库名;

            CREATE DATABASE 新库名;

 

            DROP TABLE IF EXISTS 旧表名;

            CREATE TABLE 表名();

 

    #4.表的复制

        INSERT INTO book_author VALUE(1,'鲁迅','中国'),(2,'莫言','中国'),(3,'村上春树','日本'),(4,'老舍','中国');

 

        #Ⅰ.仅仅复制表的结构

            #语法:create table 新复制的表 like 原始表;

                SELECT * FROM book_author;

                SELECT *FROM copyAuthor;

                CREATE TABLE copyAuthor LIKE book_author;

                    

        #Ⅱ.复制表的结构 + 数据

                CREATE TABLE copyAuthor2

                SELECT * FROM book_author;#将book_author表中的结构复制出来同时,book_author表中的数据复制过来

                SELECT * FROM copyAuthor2;

            

        #Ⅲ.只复制部分数据

                CREATE TABLE CREATE TABLE copyAuthor3

                SELECT id,au_Name FROM book_author WHERE natiom='中国';#这里查询子句 只写了id与au_name两个字段

            

 

        #仅仅复制某些字段 比如就要author表中的authorId与au_Name两个字段不要数据

            CREATE TABLE copyAuthor4

            SELECT authorId,au_Name FROM book_author

            WHERE 1=2;  #筛选条件恒不成立,所以没有数据复制进来

            

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值