MySQL入门系列——【DDL篇】

【DDL语言】

DDL(data definition language),用于描述数据库中要存储的现实世界实体的语言。

模式分类:交互方式定义模式和通过数据描述语言DDL描述文本定义模式

可分为两类:

I.库的管理

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

II.表的管理

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

目录

【DDL语言】

I.库的管理

1.库的创建

2.库的修改

3.库的删除

II.表的管理

1.表的创建

2.表的修改

3.表的删除

4.表的复制

5.练习题


I.库的管理

 

1.库的创建

【语法】

create database 库名 ;

【举个栗子】

(1)创建库Books:

create database Books;

可以加入容错性处理:

因为如果不加的话,同时运行多次会出现报错的情况。这时可以采用容错性写法避免此类报错。

create database if not  exists    Books;

   

 

2.库的修改

注意:需要找到源文件,目录-data下的对应的数据库;进行修改;

一般无法通过语句进行。

(1)可更改库的字符集

ALTER DATABASE books  CHARACTER SET  gbk ;  (#gbk即为更改后的字符集)

修改之前的字符集(默认):  改后:

 

3.库的删除

【语法】

①无容错的表达:    DROP DATABASE  books ;

②有容错的表达:    DROP DATABASE  IF   EXISTS  books ;

    

 

II.表的管理

【语法】

CREATE  TABLE 表名(
            列名 列的类型 【(长度)   约束】,
            列名 列的类型 【(长度)   约束】,
            ........
            列名 列的类型 【(长度)   约束】;
        )    

 

1.表的创建

【举个栗子】

(1)创建表book

CREATE DATABASE  IF NOT EXISTS  books  
--创建表之前要先有库--

 CREATE TABLE  book(
			id  INT , #编号
			bname  VARCHAR(20)   ,  #20代表最多容纳20个字符;图书名
			price   DOUBLE,  #价格
			authorid  INT, # 作者
			publishdate  DATETIME  #出版日期
);

DESC book ;		--查看创建出的表结构--
			
运行结果

 

补充:查看表结构的语句:

  • --(1)--desc 表名;
  • --(2)--describe  表名;
  • --(3)--show columns from 表名;

(2)创建表author

CREATE TABLE author (
			authorid INT,  #作者编号
			au_name  VARCHAR(20), #作家姓名
			nation VARCHAR(10)   #国家
);

DESCRIBE author;

 

2.表的修改

 

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

 

2.1 修改列名

  • 注意:修改的新表名后面要加上 数据类型

(1)把表名publishdate 修改为pub_date

ALTER TABLE book  CHANGE COLUMN publishdate pub_date DATETIME;

DESC book ;	

2.2 可修改列的类型或约束

(2)修改book库中的pub_date中的数据类型 datetime为 时间窗的

ALTER TABLE  book  MODIFY  COLUMN  pub_date TIMESTAMP;

2.3 进行增列

(3)添加一列作者的年薪

alter table author   add column annual  double ;

2.4 进行删除列

alter table author drop  column annual;

2.5  修改表名

ALTER TABLE author RENAME TO  book_author;

 

3.表的删除

语法:

drop table 表名;

(1)删除表book_author

删除后用show tables 查看下表

drop table book_author;

show tables;

     

 

总结-通用语法

drop database if exists 旧库名称;

create database 新库名;

 

drop table if exists 旧表名;

create table 表名();

 

4.表的复制

【举个栗子】

继续上述的例子,在author表中加入数据:

比如我,加入的是:

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;

4.3 复制部分数据

(1)只复制author中的au_name姓吴的作者

CREATE TABLE copy3
SELECT   *
 FROM     author
WHERE   au_name LIKE '吴%';

SELECT * FROM copy3;

4.4 仅仅复制某些字段

(1)只复制author中的id和au_name

CREATE TABLE copy4
SELECT   `authorid`,`au_name`
FROM     author
WHERE 0 ;

SELECT * FROM copy4;

只有字段,没有数据,复制完成。

 

5.练习题

移步下篇博文【Mysql练习题】-【库和表的管理】

链接如下:https://mp.csdn.net/console/editor/html/107689104

持续更新,欢迎来call 我一起学习!

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值