200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > MySQL数据表的基本操作二:表结构查看 修改与表操作【MySQL】

MySQL数据表的基本操作二:表结构查看 修改与表操作【MySQL】

时间:2022-01-24 20:24:28

相关推荐

MySQL数据表的基本操作二:表结构查看 修改与表操作【MySQL】

数据库|mysql教程

数据表,基本操作,结构

数据库-mysql教程

A、查看数据表结构

慕课源码,vscode微信小程序配置,ubuntu sdk教程,tomcat默认线程池,爬虫 美团,电子商务平台 php,seo适合做什么域名lzw

1) 查看表基本结构语句 DESCRIBE

asp源码登录,ubuntu手动装驱动,爬虫抓取收费音乐,php firstrow,seo垃圾文lzw

语法:DESCRIBE 表名;

视频网站开源源码下载,Ubuntu 简化版,小小怪玩爬虫,当年php入门,seo论文3000lzw

示例:

mysql> DESCRIBE product;+--------------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra|+--------------+--------------+------+-----+---------+----------------+| product_id | int(11)| NO | PRI | NULL | auto_increment || product_name | varchar(50) | NO || NULL ||| description | varchar(200) | YES || NULL ||+--------------+--------------+------+-----+---------+----------------+

语法:DESC 表名;

示例:

mysql> DESC product;+--------------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra|+--------------+--------------+------+-----+---------+----------------+| product_id | int(11)| NO | PRI | NULL | auto_increment || product_name | varchar(50) | NO || NULL ||| description | varchar(200) | YES || NULL ||+--------------+--------------+------+-----+---------+----------------+

说明:

NULL: 表示该列是否可以存储NULL值;Key: 表示该列是否已编制索引。PRI表示是表主键的一部分;UNI表示该列是UNIQUE索引一部分;MUL表示该列中某个给定值允许出现多次;Default: 表示该列是否有默认值,如果有是多少;Extra: 表示可以获取的与给定列有关的附加信息。例如AUTO_INCREMENT等;

2) 查看表详细结构语句 SHOW CREATE TABLE

功能说明:

用来显示创建表时的语句

语法:

SHOW CREATE TABLE ;

提示:

该语句可以用来查看创建表的详细语句;还可以用来查看存储引擎和字符编码;加上参数’\G’后,可使显示结果更加直观,易于查看;

示例:

mysql> show create table bm\G;*************************** 1. row *************************** Table: bmCreate Table: CREATE TABLE `bm` ( `id` int(11) NOT NULL, `name` varchar(22) DEFAULT NULL, `location` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `STH` (`name`)) ENGINE=InnoDB DEFAULT CHARSET=latin11 row in set (0.02 sec)

B、修改数据表

1) 修改表名

语法

ALTER TABLE RENAME [TO] ;

示例

ALTER TABLE bm RENAME department;

2) 修改字段的数据类型

语法

ALTER TABLE MODIFY ;

示例

ALTER TABLE department MODIFY id VARCHAR(11);

3) 修改字段名

语法

ALTER TABLE CHANGE ;

示例

ALTER TABLE employees CHANGE location loc VARCHAR(350);//类型可以和原来保持一样,不用修改

4) 添加字段

语法

ALTER TABLE ADD [约束条件] [FIRST|AFTER已存在字段名];//默认添加到最后一列后面

示例

ALTER TABLE employees ADD manager_id INT(10);ALTER TABLE employees ADD age INT(11) NOT NULL;//非空约束ALTER TABLE employees ADD sal FLOAT FIRST;//在表的第一列添加ALTER TABLE employees ADD hire_date DATE AFTER manager_id;//在指定列后添加

5) 删除字段

语法

ALTER TABLE DROP ;

示例

ALTER TABLE employees DROP manager_id;ALTER TABLE employees DROP hire_date;

6) 修改字段的排列位置

语法

ALTER TABLE MODIFY FIRST|AFTER ;

示例

ALTER TABLE employees MODIFY name VARCHAR(22) FIRST;//把name移动到第一列ALTER TABLE department MODIFY location VARCHAR(350) AFTER department_id;//把location列移到department_id列之后

7) 更改表的存储引擎

MySQL支持的主要存储引擎

语法

ALTER TABLE ENGINE=;

示例

ALTER TABLE department ENGINE=MyISAM;

8) 删除表的外键约束

语法

ALTER TABLE DROP FOREIGN KEY ;

示例

ALTER TABLE employees DROP FOREIGN KEY fk_emp_dept;

C、删除数据表

1) 删除没有被关联的表

语法

DROP TABLE [IF EXISTS] 表1,表2,...表n;

示例

DROP TABLE IF EXISTS employees;

2) 删除被其他表关联的主表

说明:先要删除外键

示例

mysql> create database rm_tab;Query OK, 1 row affected (0.00 sec)mysql> use rm_tab;Database changedmysql> create table department -> ( -> id int(11) primary key, -> name varchar(22), -> location varchar(200) -> );Query OK, 0 rows affected (0.07 sec)mysql> create table employee -> ( -> id int(11) primary key, -> name varchar(25), -> department_id int(11), -> salary float, -> constraint fk_emp_dept foreign key(department_id) references department(id) -> );Query OK, 0 rows affected (0.10 sec)mysql> drop table department;ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint failsmysql> alter table employee drop foreign key fk_emp_dept;Query OK, 0 rows affected (0.22 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> drop table department;Query OK, 0 rows affected (0.04 sec)mysql> show tables;+------------------+| Tables_in_rm_tab |+------------------+| employee |+------------------+1 row in set (0.00 sec)

如果您们在尝试的过程中遇到什么问题或者我的代码有错误的地方,请给予指正,非常感谢!

联系方式:david.louis.tian@

版权@:转载请标明出处!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。