mysql-创建表及数据类型

目录

1、数据库建立

2、表建立

3、数据类型

4、字段约束条件

4.1、主键 primary key

4.2自增长 auto_increment

4.3非空 not null

4.4唯一 unique key 

4.5默认 default


1、数据库建立

create database [if not exists]  name

2、表建立

create table [if not exists] table_name (
shuxing  leixing [约束条件]
)

3、数据类型

数据类型分为数值型,字符串型,时间型

 

整数型

int()      带符号-2147483648~2147483647,不带符号0~4294967295
tinyint()  带符号-128~127,不带符号0~255
smallint() 带符号-32768~32767,不带符号0~65535
bigint()   带符号-9223372036854775808~9223372036854775807,不带符号0~18446744073709551615

小数型

float(m,d)     单精度浮点型
double(m,d)    双精度浮点型
decimal(m,d)   定点型,不存在精度损失
m代表总长度,d代表小数的位数

字符串型

char()      定长字符串
varchar()   不定长字符串
text()      长字符串
enmu()      枚举类型
set()       集合型,enum只能出其中一个,set能出集合中一个或多个

日期型

date         只能保存日期
time         只能保存时间
year         只保存年份
datetime     保存日期+时间 如果不赋值默认值为null,最大值9999-12-31
timestamp    保存日期+时间 如果不赋值默认为当前时间,最大值2038-01-19 
因为timestamp有默认值当前时间所以平时使用较多

4、字段约束条件

4.1、主键 primary key

一个表里可以设定一个主键(也只能设定一个主键),主键不能重复不能为空,

create table shiyan1(id int primary key, shiyan_name varchar(20) )
#创建表时设定主键

alter table shiyan1 modify shiyan_name varchar(20) primary key
#修改为主键

alter table shiyan1  drop primary key
#删除主键

4.2自增长 auto_increment

对数值型数据,可以通过自增长完成数值的递增。自增长可以设定增长的起点。

create table if not exists shiyan2 ( id int primary key auto_increment , name varchar(20) )
[auto_increment =20]

4.3非空 not null

create table if not exists shiyan3 ( id int , name varchar(20) not null)
#创建表时设定非空
alter table shiyan3 modify name varchar(20) 
#删除非空
alter table shiyan3 modify name varchar(20) not null
#添加非空

4.4唯一 unique key 

加了唯一约束后,除了null,其他值都是唯一的。

create table shiyan4 (id int , name varchar(20) unique)
#创建唯一约束
alter table shiyan4 drop [index|key] name  
#删除唯一约束
alter table shiyan4 modify name varchar(20) unique
#修改唯一约束

4.5默认 default

create table shiyan5 (id int ,
name varchar(20),
sex enum('man', 'woman','unkown') default 'unkown'
)

 

你可能感兴趣的:(SQL,mysql)