文档章节

MySQL建表语句大全

片刻
 片刻
发布于 2015/12/22 11:36
字数 606
阅读 85
收藏 6

MySQL建表语句大全

2015年01月21日  MySQL基础  暂无评论  阅读 173 views 次
摘要:

操作包含: 创建表、创建约束、删除约束、修改表字段和删除表

1. 创建表(含有约束)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**创建组表**/
create table t_group (
     id int ( 11 ) auto_increment primary key ,
     name varchar ( 50 ) ,
     value varchar ( 255 )
) engine = InnoDB default charset = utf8 ;
 
/**创建用户表**/
create table t_user (
     id int ( 11 ) auto_increment primary key ,
     name varchar ( 50 ) unique ,
     value varchar ( 255 ) default '0' ,
     email varchar ( 100 ) not null ,
     sex varchar ( 1 )    check ( user_sex = 1 or user_sex = 2 ) ,
     group_id int ( 11 ) ,
     create_time timestamp ,
     constraint foreign key ( group_id ) references t_group ( id ) on delete cascade
) engine = InnoDB default charset = utf8 ;
 
/**查看表信息**/
desc t_group ;
show create table t_group ;
desc t_user ;
show create table t_user ;

自动增长: auto_increment

创建主键: primary key

唯一约束:   unique

非空约束: not null

检查约束:   check(user_sex=1 or user_sex=2)

创建外键: constraint foreign key(group_id) references t_group(id) on delete cascade

 

2. 创建表(不含约束)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**创建组表**/
create table t_group (
     id int ( 11 ) ,
     name varchar ( 50 ) ,
     value varchar ( 255 )
) engine = InnoDB default charset = utf8 ;
 
/**创建用户表**/
create table t_user (
     id int ( 11 ) ,
     name varchar ( 50 ) ,
     value varchar ( 255 ) default '0' ,
     email varchar ( 100 ) ,
     sex varchar ( 1 ) ,
     group_id int ( 11 ) ,
     create_time timestamp
) engine = InnoDB default charset = utf8 ;
 
/**查看表信息**/
desc t_group ;
show create table t_group ;
desc t_user ;
show create table t_user ;

3. 创建约束

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**创建主键约束**/
alter table t_group add constraint group_id_pk primary key ( id ) ;
alter table t_user add constraint user_id_pk primary key ( id ) ;
 
/**自动增长**/
alter table t_group modify id int ( 11 ) auto_increment ;
alter table t_user modify id int ( 11 ) auto_increment ;
 
/**创建外键约束**/
alter table t_user add constraint user_group_id_fk foreign key ( group_id ) references t_group ( id ) ;
 
/**创建唯一约束**/
alter table t_group add constraint group_name_uk unique ( name ) ;
alter table t_user add constraint user_name_uk unique ( name ) ;
 
/**创建非空约束**/
alter table t_user add constraint user_email_nk check ( email is not null ) ;
 
/**创建检查约束**/
alter table t_user add constraint user_gender_ck check ( user_sex = 1 or user_sex = 2 ) ;

4. 删除约束

1
2
3
4
5
/**删除唯一约束**/
alter table t_user drop unique key user_name_uk ;
 
/**删除外键约束**/
alter table t_user drop foreign key user_group_id_fk ;

5. 修改表字段

1
2
3
4
5
6
7
8
9
10
11
/**增加字段**/
alter table t_group add description varchar ( 255 ) ;
alter table t_user add description varchar ( 255 ) ;
 
/**修改字段**/
alter table t_group modify description varchar ( 20 ) ;
alter table t_user modify description varchar ( 20 ) ;
 
/**删除字段**/
alter table t_group drop description ;
alter table t_user drop description ;

6.删除表

1
2
drop table t_user ;
drop table t_group ;

本文转载自:http://www.what21.com/database/mysql/mysql-basis/table.html

片刻
粉丝 105
博文 268
码字总数 306559
作品 0
海淀
高级程序员
私信 提问
去IOE 遇到Jdbc mysql sql_mode的坑

在去IOE(IBM的小型机+Oracle的数据库+EMC的高端存储)的过程中遇到一个Oracle的建表语句(转换处理过后)具体语句如下: 通过Java的Jdbc执行后报错:BLOB/TEXT column 'FEXPRESSION' can't ...

adam_public
2018/08/15
0
0
Data Lake Analytics中OSS LOCATION的使用说明

前言 Data Lake Analytic(后文简称 DLA)可以帮助用户通过标准的SQL语句直接对存储在OSS、TableStore上的数据进行查询分析。 在查询前,用户需要根据数据文件的格式和内容在DLA中创建一张表...

金络
2018/08/07
0
0
MySQL 误删ibdata、ib_logfile恢复案例

昨天为了测试mysql数据库快速删除大库的方案,一时起意把redo和undo log也一起删除了,由此才有下文 一、前言 InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保...

IT--小哥
01/04
0
0
mysql自增长问题,

这个建表语句 成功之后》 我重启mysql服务,AUTO_INCREMENT=10000 不见了 我的建表sql执行完成之后 重启mysql服务 之后查看建表语句 AUTO_INCREMENT=10000不见了 而且自增长又从1开始...

了不起的盖茨比A
2015/10/13
538
2
一个关于mysql锁的问题

先贴表设计(id为索引) 贴一下1号线程的jdbc代码 贴一下2号线程的JDBC代码 贴一下最终结果 从个人理解认为,这里的输出结果应该为 2号线程的先打印执行结果,然后1号线程才打印,可现在的结...

首席撸出血
2016/04/14
244
5

没有更多内容

加载失败,请刷新页面

加载更多

通过微服务来正确实施SOA

对于组织来说,能够构建、发展和扩展大型应用程序是至关重要的, 但所涉及的挑战使其成为一项艰巨的任务。正因为如此, 微服务凭借能够将单个组件拆分成围绕特定业务功能的独立服务,已成为构建...

Linux就该这么学
13分钟前
2
0
从 Spark 到 Kubernetes — MaxCompute 的云原生开源生态实践之路

2019年5月14日,喜提浙江省科学技术进步一等奖的 MaxCompute 是阿里巴巴自研的 EB 级大数据计算平台。该平台依托阿里云飞天基础架构,是阿里巴巴在10年前做飞天系统的三大件之分布式计算部分...

阿里云官方博客
16分钟前
1
0
使用python来操作redis用法详解

1、redis连接 redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的red...

dragon_tech
16分钟前
2
0
给研发工程师的代码质量利器 | SOFAChannel#5 直播整理

> SOFA:Channel,有趣实用的分布式架构频道。 > > 本文根据 SOFAChannel#5 直播分享整理,主题:给研发工程师的代码质量利器 —— 自动化测试框架 SOFAActs。 > > 回顾视频以及 PPT 查看地址...

SOFAStack
18分钟前
1
0
段错误总结

https://blog.csdn.net/e_road_by_u/article/details/61415732 一、段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问...

悲催的古灵武士
20分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部