数据库建表语句

一个简单的表.

数据库建表语句_第1张图片

还有建表语句.


数据库建表语句_第2张图片

还有表结构


数据库建表语句_第3张图片

unsigned 无符号(正数)

zerofill 前导零填充

auto_increment  自增

default 默认值

not null  非空

PRIMARY KEY 主键 (非null并不重复)

unique 唯一性  (可以为null但不重复)

ENGINE=MyISAM   表类型(innoDB)

CHARSET=utf8    字符集(utf8)

\h  -- 快捷帮助

\c  -- 取消命令输入

\s  -- 查看当前数据库的状态

\q  -- 退出mysql命令行


mysql的数据类型分类

整型

tinyint   微整型

有符号:   -128 ~ 127

无符号:     0 ~ 255

主要用于:年龄数据,常常用于表示一个布尔值!

smallint 小整形

有符号: -32768 ~ 32767

无符号: 0 ~  65535

很少使用

mediumint 中整型

有符号:-8 388 608,8 388 607

无符号:0 ~ 16 777 215

较少使用

int  整型

有符号:-2147483648 ~ 2147483647

无符号:0 ~ 4294967295

表示用户的数字id.最常用的类型.

bigint 大整形

有符号:-9233372036854775808 ~ 9223372036854775807

无符号:0,18 446 744 073 709 551 615

甚少使用,因为很少需要这么大的数值

##浮点型

float  单精度浮点型

使用4字节存储浮点型

double  双精度浮点型

使用8字节存储浮点型

decimal     字符串双精度浮点型

对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

金融数据存储推荐使用decimal类型,因为他的本质是字符串.

##布尔类型

在MYSQL中没有真正的布尔类型,如果表示布尔类型需要使用tinyint来进行表示

0表示false   1表示true

##字符串类型

varchar  变长字符串

范围:0 ~ 255

char     定长字符串

范围:0 ~ 255

定长字符和变长字符的优缺点:

定长字符:浪费物理存储空间,读取效率高

变长字符:节省物理存储空间,读取效率低.

使用方式:

如果可以确定数据的最大长度.推荐使用定长字符串,效率更高.

如果没有办法确定数据的最大长度,推荐使用变长字符存储

----

tinytext   微文本类型

范围:0 ~ 255字节

text    文本类型

范围:0-65535字节

mediumtext  中文本类型

范围: 0-16 777 215字节

longtext  长文本类型

范围:0-4 294 967 295字节

---

tinyblob   微二进制文本类型

范围:0 ~ 255字节

blob    二进制文本类型

范围:0-65535字节

mediumblob  中二进制文本类型

范围: 0-16 777 215字节

longblob  长二进制文本类型

范围:0-4 294 967 295字节

blob类型和text类型的区别

text 区分字符大小写,用于存储文本数据

blob  不区分字符大小写,用于存储文件数据

----

binary   定长二进制数据

varbinary  变长二进制数据

binary和varbinary的特征":

binary和varbinary用于存储二进制字符,blob用于存储二进制文件

binary存储时采用定长字符存储,占用空间,读取效率高

varbinary存储时采用变长字符存储,节省空间,读取效率低

-----

char   用于存储正常的字符

binary  用于存储二进制的字符

text  用于存储正常的文本字符

blob  用于存储二进制文件的字符

----

##时间和日期类型

date  日期格式数据

范围:1000-01-01/9999-12-31

格式:YYYY-MM-DD

time  时间格式数据

范围:'-838:59:59'/'838:59:59'

格式: HH:MM:SS

year  年格式数据

范围:1901/2155

格式:YYYY

datetime 日期时间格式数据

范围:1000-01-01 00:00:00/9999-12-31 23:59:59

格式:YYYY-MM-DD HH:MM:SS

timestamp 时间戳格式

范围:1970-01-01 00:00:00/2037 年某时

格式:YYYYMMDD HHMMSS

----

##枚举类型

enum  枚举类型

格式: enum(值1,值2...);

必须从给定的数值中选取1个插入数据库,否则报错

##集合类型

set  集合类型

格式: set(值1,值2...)

必须从给定的值中选取N个值插入数据库,否则而报错,N>=1

你可能感兴趣的:(数据库建表语句)