查看并修改表结构
查看并修改表结构
查看表结构
数据表创建完成后,可以通过查看表结构或者建表语句,来确认表的定义是否正确。
1、 查看表的基本结构
查看表结构的关键字为DESCRIBE,语法形式如下:
DESCRIBE table_name;
执行DESCRIBE语句,查看goods表结构,效果如下所示。
mysql> DESCRIBE goods;
注意:DESCRIBE可以简写为DESC
2、查看建表语句
使用SHOW CREATE TABLE语句可以查看表的建表语句,语法形式如下:
SHOW CREATE TABLE table_name \G
执行SHOW CREATE TABLE语句,查看goods表的建表语句,效果如下所示。
mysql> SHOW CREATE TABLE goods \G
修改表
MySQL提供了ALTER关键字来修改表结构。
1、 修改表名
修改数据表名称的关键字为REAME,语法形式如下:
ALTER TABLE old_table_name REAME new_table_name;
执行SQL语句,将goods表的名称改为tb_goods。
mysql> ALTER TABLE goods REAME tb_goods;
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW TABLES;
------------------
| Tables_in_galaxy |
------------------
| orders |
| tb_goods |
------------------
2 rows in set (0.00 sec)
2、修改字段数据类型
修改字段数据类型的关键字为MODIFY,语法形式如下:
ALTER TABLE table_name MODIFY col_name new_data_type;
执行SQL语句,将tb_goods表中type字段的数据类型修改为CHAR(0)。
mysql> ALTER TABLE tb_goods MODIFY type CHAR(0);
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
查看tb_goods表结构
mysql> DESC tb_goods;
、 修改字段名
修改数据表字段名称的关键字为CHAGE,语法形式如下:
ALTER TABLE table_name CHAGE old_col_name new_col_name data_type;
执行SQL语句,将tb_goods表中name字段的名称改为g_name。
mysql> ALTER TABLE tb_goods CHAGE name g_name VARCHAR(0);
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
使用上述语句也可以同时修改数据类型。例如,将g_name字段名称修改为name,数据类型修改为CHAR(0),效果如下。
mysql> ALTER TABLE tb_goods CHAGE g_name name CHAR(0);
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
4、 添加字段
常见添加字段的操作一般分为三种情况:在表的最后一列,在表的第一列或者在指定列之后。
1)在表的最后一列添加字段
添加字段的关键字为ADD,语法形式如下:
ALTER TABLE table_name ADD col_name data_type;
执行SQL语句,在tb_goods表中添加picture字段。
mysql> ALTER TABLE tb_goods ADD picture VARCHAR(255);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
2)在表的第一列添加字段
ALTER TABLE table_name ADD col_name data_type FIRST;
执行以下SQL语句,在tb_goods表中第一列添加state字段。
mysql> ALTER TABLE tb_goods ADD state TIYIT(4) FIRST;
Query OK, 0 rows affected, 1 warning (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 1
)在表的指定列之后添加字段
ALTER TABLE table_name ADD col_name1 data_type AFTER col_name2;
执行SQL语句,在tb_goods表中num字段之后添加intro字段。
mysql> ALTER TABLE tb_goods ADD intro TEXT AFTER num;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
5、 删除字段
删除数据表字段的关键字为DROP,语法形式如下:
ALTER TABLE table_name DROP col_name;
执行以下SQL语句,将tb_goods表中的picture字段删除。
mysql> ALTER TABLE tb_goods DROP picture;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
6、 修改字段顺序
修改字段顺序的关键字为MODIFY,语法形式如下:
ALTER TABLE table_name MODIFY col_name data_type FIRST | AFTER col_name2;
执行以下SQL语句,将tb_goods表的state字段位置修改为id字段之后。
mysql> ALTER TABLE tb_goods MODIFY state TIYIT(4) AFTER id;
Query OK, 0 rows affected, 1 warning (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 1
7、修改存储引擎
用户可以在创建表时设置存储引擎,也可以在表创建完成之后修改表的存储引擎,语法形式如下:
ALTER TABLE table_name EGIE=e_name;
在修改存储引擎之前,往往需要首先查看表当前的存储引擎,语法形式如下:
SHOW CREATE TABLE table_name \G
mysql> SHOW CREATE TABLE tb_goods \G
*************************** 1. row ***************************
Table: tb_goods
Create Table: CREATE TABLE `tb_goods` (
`id` int OT ULL AUTO_ICREMET,
`state` tinyint DEFAULT ULL,
`type` char(0) DEFAULT ULL,
`name` char(0) DEFAULT ULL,
`price` decimal(7,2) unsigned DEFAULT ULL,
`num` int DEFAULT 0 ,
`intro` text,
`add_time` datetime DEFAULT ULL,
PRIMARY KEY (`id`),
UIQUE KEY `name` (`name`)
) EGIE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_0900_ai_ci
1 row in set (0.00 sec)
首先执行SQL语句,查看category表的存储引擎,结果如下:
ALTER TABLE category EGIE=InnoDB;
mysql> ALTER TABLE category EGIE=InnoDB;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
删除表
删除数据表会将表的定义和表中的数据全部删除,因此,用户最好反复确认后再执行此操作。
1、 删除没有被关联的表
使用DROP关键字可以一次性删除一个或多个没有被其他表关联的表,语法形式如下:
DROP TABLE [IF EXISTS] table_name1,table_name2,……,table_namen;
提示:如果删除的数据表不存在,系统会提示错误信息并中断执行,加上“IF EXISTS”参数后,系统会在执行删除命令之前判断表是否存在,如果表不存在,命令仍可以顺利执行,但系统会提示警告。
执行SQL语句,删除category表和不存在的tb_good表,并查看数据库中的所有表。
mysql> DROP TABLE IF EXISTS category;
2、 删除被其他表关联的主表
如果数据表之间存在外键关联,那么直接删除主表,系统会提示错误信息,这种情况下,可以先删除与它关联的从表,再删除主表。但有时需要保留从表中的数据,此时需解除主表和从表之间的关联,即删除从表中的外键约束。
删除外键的语法形式如下:
ALTER TABLE table_name DROP FOREIG KEY key_name;
之前创建的tb_goods表和order表存在外键关联,如果直接删除tb_goods表,系统会提示错误,如下所示。
mysql> DROP TABLE tb_goods;
ERROR 70 (HY000): Cannot drop table tb_goods referenced by a foreign key ctraint goo_ord on table orders .
可以执行SQL语句先删除orders表中的外键,然后删除tb_goods表,如下所示。
ALTER TABLE orders DROP FOREIG KEY goo_ord;
DROP TABLE tb_goods;
DROP TABLE tb_orders;
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
下一篇:ios录音小操作
推荐阅读
留言与评论(共有 20 条评论) |
本站网友 雅安地震伤亡 | 13分钟前 发表 |
0 Warnings | |
本站网友 天元商厦 | 6分钟前 发表 |
修改表名 修改数据表名称的关键字为REAME,语法形式如下: ALTER TABLE old_table_name REAME new_table_name; 执行SQL语句,将goods表的名称改为tb_goods | |
本站网友 如何减手臂 | 21分钟前 发表 |
0 Duplicates | |
本站网友 吸烟者的肺 | 12分钟前 发表 |
0 删除表 删除数据表会将表的定义和表中的数据全部删除,因此,用户最好反复确认后再执行此操作 | |
本站网友 模拟炒港股 | 23分钟前 发表 |
1 7 | |
本站网友 原色之力 | 21分钟前 发表 |
1 warning (0.02 sec) Records | |
本站网友 杂酱面 | 22分钟前 发表 |
0 Duplicates | |
本站网友 抗原决定簇 | 13分钟前 发表 |
PRIMARY KEY (`id`) | |
本站网友 温江房屋出租 | 17分钟前 发表 |
1)在表的最后一列添加字段 添加字段的关键字为ADD,语法形式如下: ALTER TABLE table_name ADD col_name data_type; 执行SQL语句,在tb_goods表中添加picture字段 | |
本站网友 许昌职业技术学院地址 | 8分钟前 发表 |
0 rows affected (0.01 sec) Records | |
本站网友 家装油漆十大品牌 | 22分钟前 发表 |
查看并修改表结构 查看表结构 数据表创建完成后,可以通过查看表结构或者建表语句,来确认表的定义是否正确 | |
本站网友 发好啦 | 22分钟前 发表 |
mysql> ALTER TABLE tb_goods CHAGE g_name name CHAR(0); Query OK | |
本站网友 婚房布置图片 | 18分钟前 发表 |
但有时需要保留从表中的数据,此时需解除主表和从表之间的关联,即删除从表中的外键约束 | |
本站网友 edittext | 29分钟前 发表 |
删除被其他表关联的主表 如果数据表之间存在外键关联,那么直接删除主表,系统会提示错误信息,这种情况下,可以先删除与它关联的从表,再删除主表 | |
本站网友 孕检时间表 | 13分钟前 发表 |
0 rows affected | |
本站网友 inputstreamreader | 23分钟前 发表 |
0 Duplicates | |
本站网友 卧蚕是什么 | 28分钟前 发表 |
查看建表语句 使用SHOW CREATE TABLE语句可以查看表的建表语句,语法形式如下: SHOW CREATE TABLE table_name \G 执行SHOW CREATE TABLE语句,查看goods表的建表语句,效果如下所示 | |
本站网友 乙醇是酒精吗 | 3分钟前 发表 |
mysql> DESCRIBE goods; 注意:DESCRIBE可以简写为DESC 2 | |
本站网友 大悦城电影院 | 1分钟前 发表 |
2) unsigned DEFAULT ULL |