有关于DDL的那些事(一)- MYSQL数据库DDL命令大全

注:汉化就是翻译的意思。觉得汉化词比较高大上。

数据库使用的基本流程
1.创建数据库
2.明确好表结构(三范式)
3.设置完整性约束
4.操作数据

DDL
单词汇总 show create drop alter(建议一定背过)
关于数据库-->用库 use 查库show 创库create 删库drop
关于数据表-->查表 show  desc  describe 创表create 删表 drop truncate 修改表alter

使用库;
格式--->use 数据库名;
例1:use books;汉化:使用books数据库;

创建数据库
格式--->create database 数据库名;
例1:create database `book`;汉化:创建一个book的数据库;
例2:create database book;     汉化:创建一个book的数据库; 
例3:create database if not exists book;  汉化:创建一个book数据库,当这个数据库不存在的时候;

删除数据库
格式--->drop database 数据库名;
例1:drop database `people`; 汉化:删除一个people数据库;
例2:drop database  people;  汉化:删除一个people数据库;
例3:drop database if exists people;  汉化:删除一个数据库,当这people个数据库存在的时候。

展示所有数据库名称(常用)
格式-->
例1:show databases; 汉化:查看所有数据库名称

查看表结构(常用)
desc 表名;
例1:desc book;  汉化:查看book的表结构;
例2:desc `book`;汉化:查看book的表结构;
注意:查看的一个表中的字段的属性;如何选中库就不要使用库这个命令了。

查看表结构的第二种方式
格式1-->show columns from 表名;
格式2-->show columns from 表名 from 库名;
例1:
第一步:先使用库 use 
第一步:先使用库 use show columns from book;    汉化:查看表books库里面book整体结构;
例2: 
第一步:先使用库 use 
第二步:show columns from `book`;  汉化:查看表books库里面book整体结构;
例3:
show columns from book from books; 汉化:查看表books库里面book整体结构;
注意:它的用法和describe相似,可以说”show columns from 表名;“简化版。

查看表结构的第三种方式(可以直接查看字段)
格式1-->describe 表名;
格式2-->describe 表名 字段名;
例1: 
第一步:先使用库 use 
第二步:describe book; 汉化:查看特定book的表结构;
例2: 
第一步:先使用库 use 
第二步:describe book book_id;汉化:查看特定book的book_id的表结构

查看表结构的第四种方式(查看创建表的过程)(推荐!)
格式1-->show create table 表名;
例1: 
第一步:先使用库 use 
第二步:show create table book; 汉化:查看创建book过程的表结构;
注意:查询指定的库的字符集 (字符集默认都是utf8)

创建数据表
格式--->create table 数据表名;
例1:create table `book`;汉化:创建一个book的数据表;
例2:create table book;     汉化:创建一个book的数据表; 
例3:create table if not exists book;  汉化:创建一个book数据表,当这个数据表不存在的时候;

删除数据表(不经常用)
格式--->drop table 数据表名;
例1:drop table `people`; 汉化:删除一个people数据表;
例2:drop table people;   汉化:删除一个people数据表;
例3:drop table if exists people;  汉化:删除一个数据表,当这people个数据表存在的时候。

清空表数据(不经常用而且注意!)(截断表)
格式-->truncate table 表名;
例1:truncate table `book`;汉化:清空book里面的数据;
例2:truncate table  book; 汉化:清空book里面的数据;
注意:truncate不能与where一起使用。
警告:当你要删除部分记录或者有可能会后悔的话;
更多:但不能回滚,不会触发触发器;

修改数据库字符集(常用)
格式-->alter database 数据库表名 属性; 
alter database people charset utf8;  汉化:更改数据库的字符集为utf8;

修改表
修改的字段类型
格式1-->alter table 表名 modify 当前的字段名称 新的字段类型;
例1:alter table book modify book_id  varchar(11); 汉化:将book表里面book_id的字段原来int的类型改变成varchar(11)类型。
修改的字段名称 
格式2-->alter table 表名 change 旧字段名称 新的字段名称 以前的数据类型;
例1:alter table book change book_id  books_id  int; 汉化:将book表里面book_id的字段改为books_id,原来类型不变。
注意:
相同点:都是用来改变字段的属性,change和modify执行成功后都会这本次设置的属性替换字段原属性,请注意是【替换】;
不同点:重命名字段只能使用change

添加一个新的字段
格式1-->alter table 表名 add 字段名称 字段类型;
例1:alter table book add book_name vachar(6); 汉化:向book表中添加book_name字段,且类型为vachar(6);

复制一张表
格式-->create table 新表名 like 旧表名;
例1:create table letter like  book;  汉化:把book旧表名更换为letter新表名;

第一种重命名表
修改表名, to或as都可以,也以省略掉
格式1-->alter table 表名 rename [to|as] 新表名
例1:alter table book rename to book2; 汉化:将book旧表名更改到books新表名;
例2:alter table book rename as book2; 汉化:将book旧表名更改到books新表名;

第二种重命名表
格式1-->rename table 表名  to  新表名; 这里面的to不可以省略
例1:rename table book to book2; 汉化:将book旧表名更改到books新表名;

第三种添加外键
格式1-->alter table  主表   add    constraint     fk_主表名_从表名    foreign key  主表的字段  references  从表(从表字段) ;
例1:alter table book add constraint fk_book_people foreign key people_id references people(people_id); 
汉化:给book表里面people_id字段添加外键另外一张people表的people_id字段。

----------------------------------------------------------------------
有些因为mysql版本而不兼用问题,大家可以留言提提意见。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值