数据库设计-DDL

DDL 英文全称是 Data Definition Language数据定义语言,用来定义数据库对象(数据库、表)

DDL(数据库操作)

查询

查询所有数据库: show databases;
查询当前数据库: select database();

创建

创建数据库:create  database [ if  not  exists ]   数据库名 ;

使用

使用数据库: use  数据库名 ;

删除

删除数据库:drop  database [ if exists ]   数据库名 ;

注意事项

上述语法中的database,也可以替换成 schema。如:create schema  db01;

MySQL客户端工具-图形化工具

DataGrip

介绍:DataGripJetBrains旗下的一款数据库管理工具,是管理和开发MySQLOraclePostgreSQL的理想解决方案。

官网: https://www.jetbrains.com/zh-cn/datagrip/

DDL(表操作)

约束

描述

关键字

非空约束

限制该字段值不能为null

not  null

唯一约束

保证字段的所有数据都是唯一、不重复的

unique

主键约束

主键是一行数据的唯一标识,要求非空且唯一

primary  key

默认约束

保存数据时,如果未指定该字段值,则采用默认值

default

外键约束

两张表的数据建立连接,保证数据的一致性和完整性

foreign  key

--创建:基本语法
create table tb_user(
    id int primary key auto_increment comment 'ID,唯一标识',
    username varchar(20) not null unique comment '用户名',
    name varchar(10) not null comment '姓名',
    age int comment '年龄',
    gender char(1) default '男' comment '性别'
) comment '用户表';

数据类型

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

分类类型大小(byte)有符号(SIGNED)范围无符号(UNSIGNED)范围描述备注
数值类型tinyint1(-128127)(0255)小整数值
age tinyint unsigned
 
smallint2(-3276832767)(065535)大整数值 
mediumint3(-83886088388607)(016777215)大整数值 
int4(-21474836482147483647)(04294967295)大整数值 
bigint8(-2^632^63-1)(02^64-1)极大整数值 
float4(-3.402823466 E+383.402823466351 E+38)0 (1.175494351 E-383.402823466 E+38)单精度浮点数值float(5,2):5表示整个数字长度,2 表示小数位个数
double8(-1.7976931348623157 E+3081.7976931348623157 E+308)0 (2.2250738585072014 E-3081.7976931348623157 E+308)双精度浮点数值double(5,2):5表示整个数字长度,2 表示小数位个数
decimal   小数值(精度更高)decimal(5,2):5表示整个数字长度,2 表示小数位个数
分类类型大小描述
字符串类型char0-255 bytes定长字符串
varchar0-65535 bytes变长字符串
tinyblob0-255 bytes不超过255个字符的二进制数据
tinytext0-255 bytes短文本字符串
blob0-65 535 bytes二进制形式的长文本数据
text0-65 535 bytes长文本数据
mediumblob0-16 777 215 bytes二进制形式的中等长度文本数据
mediumtext0-16 777 215 bytes中等长度文本数据
longblob0-4 294 967 295 bytes二进制形式的极大文本数据
longtext0-4 294 967 295 bytes极大文本数据
char(10): 最多只能存10个字符,不足10个字符,占用10个字符空间AB
varchar(10): 最多只能存10个字符,不足10个字符, 按照实际长度存储ABC
分类类型大小(byte)范围格式描述
日期类型date31000-01-01 9999-12-31YYYY-MM-DD日期值
time3-838:59:59 838:59:59HH:MM:SS时间值或持续时间
year11901 2155YYYY年份值
datetime81000-01-01 00:00:00 9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
timestamp41970-01-01 00:00:01 2038-01-19 03:14:07YYYY-MM-DD HH:MM:SS混合日期和时间值,时间戳
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值