mysql-DBA

DDL——数据定义语言

2020-01-09  本文已影响0人  静如止水yw

1. 库

增
mysql> create database oldguo charset utf8mb4 collate utf8mb4_bin;
删
mysql> drop database oldguo;
改
mysql> alter database oldguo charset utf8mb4 collate utf8mb4_bin;
查(DQL)
mysql> show databases;
mysql> show create database oldguo;

建库使用规范

2. 表

mysql> create table t1(id int)
举例:建表规范
CREATE TABLE `xuesheng` (
  `xid` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '学号',
  `xname` varchar(64) COLLATE utf8mb4_bin NOT NULL COMMENT '姓名',
  `xage` tinyint(3) unsigned NOT NULL DEFAULT '99' COMMENT '年龄',
  `xsex` char(1) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '性别',
  `xtel` char(14) COLLATE utf8mb4_bin NOT NULL COMMENT '手机号',
  `xcard` char(18) COLLATE utf8mb4_bin NOT NULL COMMENT '身份证号',
  `xaddr` enum('北京市','上海市','深圳市','山东省','甘肃省','河北省','山西省','河南省','辽宁省','吉林省','黑龙江省','内蒙古自治区','新疆维吾尔自治区','四川省','陕西省','江苏省','福建省','湖北省','广东省','广西省') COLLATE utf8mb4_bin NOT NULL DEFAULT '北京市' COMMENT '地区',
  `xdate` datetime DEFAULT NULL COMMENT '入学时间',
  PRIMARY KEY (`xid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ; 
说明:
 unsigned         -- 表示非负数
comment          -- 表示备注,注释的信息
auto_increment   -- 自动增加值,通常和主键搭配使用
collate          -- 表示字符串
commit           -- 表示提交
not null         -- 不允许为空值
datetime         -- 时间类型
primary key      -- 主键 等价于 唯一 (UNIQUE) 且 非空 (NOT NULL)

建表使用规范

mysql> drop table teacher_bak;
mysql> truncate table teacher;
##drop table、truncate table、 delete table的区别?
# drop table: 表结构+数据(物理性删除)
# truncate table : 数据(清空数据页)
# delete table : 清空数据行(逐行删除)

alter table 
(1)添加列
mysql> desc xuesheng;
mysql> alter table xuesheng add xqq bigint not null unique commit 'qq号';
(2)删除列
mysql> alter table xuesheng drop xqq;
(3)修改
#1. 修改表名
alter table xuesheng rename to student;
(4)修改某一列的属性信息
mysql> desc student;
alter table student modify xname varchar(128) not null comment '姓名';
(5)修改列名和属性
alter table student change xsex xgengder char(2) not null default 'm' comment '性别';

#说明:
bigint    -- 取值范围(-2^31 至 2^31-1)
unique    -- 约束唯一标识数据库表中的每条记录
rename    -- 给表重命名
modify   -- 修改字符串或者数据的类型
change    --  改变名字或者列的属性

alter使用规范

mysql> show tables;
mysql> show create database table;
上一篇下一篇

猜你喜欢

热点阅读