博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL 5.6学习笔记(数据表基本操作)
阅读量:7247 次
发布时间:2019-06-29

本文共 3757 字,大约阅读时间需要 12 分钟。

1. 创建数据表

1.1 最基本的语法

CREATE TABLE tbl_name    (col_name column_definition,...)    [table_options]

-column_definition

详解:

column_definition:    data_type [NOT NULL | NULL] [DEFAULT default_value]      [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]      [COMMENT 'string']      [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]      [STORAGE {DISK|MEMORY|DEFAULT}]      [reference_definition]

-table_options

table_options: table_option [table_option] ...

详解:

table_option:    ENGINE [=] engine_name  | AUTO_INCREMENT [=] value  | AVG_ROW_LENGTH [=] value  | [DEFAULT] CHARACTER SET [=] charset_name  | CHECKSUM [=] {
0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | CONNECTION [=] 'connect_string' | DATA DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {
0 | 1} | INDEX DIRECTORY [=] 'absolute path to directory' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {
0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT} | STATS_AUTO_RECALC [=] {DEFAULT|0|1} | STATS_PERSISTENT [=] {DEFAULT|0|1} | TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}] | UNION [=] (tbl_name[,tbl_name]...)
View Code

更多语法详细信息,参考:

1.2 实例

创建基本表:

create table tb_temp1(  id int(11),  name varchar(25));

创建带主键的表(两种方法):

create table tb_temp2(  id int(11) primary key,  name varchar(25));create table tb_temp3(  id int(11),  name varchar(25),  primary key(id));

支持联合主键(同时命名约束名):

create table tb_temp4(  id int(11),  sub_id int(4),  name varchar(25),  constraint PK_TEMP4 primary key(id,sub_id));

创建带外键的表(注意:外键不能跨存储引擎使用):

create table tb_temp5(  id int(11) primary key,  yourdesc varchar(25),  constraint FK_TEMP5_ID foreign key(id) references tb_temp2(id));

非空约束(略)

唯一性约束(略)

默认约束(略)

创建主键自动增加的表:

create table tb_temp8(  id int(11) primary key auto_increment,  name varchar(25));

2. 查看数据表结构

查看表基本结构:

desc tablename

查看表详细结构:

show create table tablename\G

示范:

mysql> show create table tb_temp2\G*************************** 1. row ***************************       Table: tb_temp2Create Table: CREATE TABLE `tb_temp2` (  `id` int(11) NOT NULL,  `name` varchar(25) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf81 row in set (0.00 sec)

3. 修改数据表

3.1 修改表名

alter table 
<旧表名>
rename to
<新表名>
;

3.2 修改字段的数据类型

alter table 
<表名>
modify
<字段名>
<数据类型>
;

3.3 修改字段名

alter table 
<表名>
change
<旧字段名>
<新字段名>
<新数据类型>
;

3.4 添加字段

alter table 
<表名>
add
<新字段名>
<数据类型>
[约束条件] [first | after 已存在的字段名];

“first或after已存在字段名”用于指定新增字段在表中的位置,默认加到最后。

示范:

alter table tb_temp4 add manageid int(10);
alter table tb_temp4 add f_id int(4) not null first;

3.5 删除字段

alter table 
<表名>
drop
<字段名>
;

3.6 修改字段的排列位置

alter table 
<表名>
modify
<字段1>
<数据类型>
first|after
<字段2>
;

示范:

alter table tb_temp4 modify name varchar(25) after f_id;

3.7 更改表的存储引擎

alter table 
<表名>
engine=
<更改后的存储引擎名>
;

3.8 增加表的外键约束

ALTER TABLE yourtablename    ADD [CONSTRAINT 外键名] FOREIGN KEY [id] (index_col_name, ...)    REFERENCES tbl_name (index_col_name, ...)    [ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}]    [ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}];

示范:

alter table bbscomment add constraint FK_COMMENT_ID foreign key(detail_id) references bbsdetail(detail_id) on delete cascade;

3.9 删除表的外键约束

alter table 
<表名>
drop foreign key
<外键约束名>
;

4. 删除数据表

语法:

drop table [if exists] 表1,表2,...表n;

如果表存在外键(被其它表引用),则需要先删除约束关系,参考3.8节。

示范:

drop table if exists tb_temp1;

 

转载地址:http://xwnbm.baihongyu.com/

你可能感兴趣的文章
生活热水循环泵选型怎么选,如何选型计算?
查看>>
机器学习中的预测问——回归与分类
查看>>
数据结构 -- 静态链表
查看>>
写的py_ping 可以跑了
查看>>
11月18日站立会议
查看>>
dos 磁盘操作系统
查看>>
数据结构顺序队列打卡
查看>>
Web service调用的安全性
查看>>
C语言测试:想成为嵌入式程序员应知道的0x10个基本问题【转】
查看>>
C#集合
查看>>
ssh 登陆redhat linux时中文显示乱码解决方法
查看>>
【Linux】 静态函数库设计
查看>>
ecshop_2.7.2_flow.php_sql注入漏洞利用工具
查看>>
Yii2手动安装第三方扩展
查看>>
个人作业数组续
查看>>
(转载博文)MFC 窗口句柄获取
查看>>
HAProxy详解(三)
查看>>
脚本初步
查看>>
svn 常见问题记录
查看>>
IIS 部署 python web框架 Flask
查看>>