MySQL篇(一)--DDL数据定义语言

mysql操作语句之数据定义语言DDL example:建库、建表。

库相关

  • 创建数据库test
create database test;
  • 查看当前在哪个库里
select database();
  • 进入test数据库的操作
use test;
  • 判断test数据库是否存在,如果不存在则创建数据库test
create database if not exists test;
  • 创建数据库test并指定字符集为utf8mb4
create database test default character set utf8mb4;
  • 查看test数据库是什么字符集
show create database test;
  • 查看当前mysql使用的字符集
show variables like 'character%';

表相关

  • mysql数据类型
数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。
  • mysql常见数据类型
<1>整数型
	类型  	大小 		范围(有符号) 			范围(无符号unsigned) 	用途 
   TINYINT 	 1 字节 	(-128,127) 				 (0,255) 				小整数值 
   SMALLINT  2 字节 	(-32768,32767) 			 (0,65535) 				大整数值 
   MEDIUMINT 3 字节 	(-8388608,8388607) 		 (0,16777215) 			大整数值 
   INT       4 字节 	(-2147483648,2147483647) (0,4294967295) 		大整数值 
   BIGINT    8 字节   ()    			          (0,2的64次方减1) 		  极大整数值 

<2>浮点型 
	FLOAT(m,d) 4 字节 单精度浮点型 备注:m代表总个数,d代表小数位个数 
	DOUBLE(m,d) 8 字节 双精度浮点型 备注:m代表总个数,d代表小数位个数 

<3>定点型 
	DECIMAL(m,d) 依赖于M和D的值 备注:m代表总个数,d代表小数位个数 

<4>字符串类型 
	类型 			大小 				用途 
	CHAR 		0-255字节 		定长字符串 
	VARCHAR 	0-65535字节 		变长字符串 
	TINYTEXT 	0-255字节 		短文本字符串 
	TEXT 		0-65535字节 		长文本数据 
	MEDIUMTEXT 	0-16777215字节 	中等长度文本数据 
	LONGTEXT 	0-4294967295字节 	极大文本数据 

char的优缺点:存取速度比varchar更快,但是比varchar更占用空间
varchar的优缺点:比char省空间。但是存取速度没有char快 

<5>时间型 
	数据类型 	字节数 	格式 						备注 
	date 		3 		yyyy-MM-dd 				存储日期值 
	time 		3 		HH:mm:ss 				存储时分秒 
	year 		1 		yyyy 					存储年 
	datetime 	8 		yyyy-MM-dd HH:mm:ss 	存储日期+时间 
	timestamp 	4 		yyyy-MM-dd HH:mm:ss 	存储日期+时间,可作时间戳
  • 建表语法
create table 表名(
	字段名1 字段类型1 约束条件1 注释说明1,
	字段名2 字段类型2 约束条件2 注释说明2,
    字段名3 字段类型3 约束条件3 注释说明3
);
create table tableName(
	columnName1 columnType1 constraint1 comment '',
	columnName2 columnType2 constraint2 comment '',
    columnName3 columnType3 constraint3 comment ''
);

create table 新表名 as select * from 旧表名 where 1=2;
(comment:此创建方式多用于临时测试时使用,因为索引相关的可能会复制不过来)
create table 新表名 like 旧表名;
  • 约束条件
comment ----说明解释 
not null ----不为空 
default ----默认值 
unsigned ----无符号(即正数) 
auto_increment ----自增 
zerofill ----自动填充 
unique key ----唯一值

example

CREATE TABLE student (
    id tinyint(5) auto_increment default null comment '学生学号', 
    name varchar(20) default null comment '学生姓名', 
    age tinyint default null comment '学生年龄', 
    class varchar(20) default null comment '学生班级', 
    sex char(5) not null comment '学生性别', 
    unique key (id) 
)engine=innodb charset=utf8mb4;
  • mysql表结构信息相关查询命令
#查看数据库中所有表
show tables;
#查看表结构
desc 表名;
#查看建表语句
show create table 表名;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值