搜索
首页数据库mysql教程MySQL自学篇(三)_MySQL

查看数据表结构

使用SQL语句创建好数据表之后,可以查看表结构的定义,以确定表的定义是否正确。在MySQL中,查看表结构可以使用DESCRIBE 和 SHOW CREATE TABLE语句。

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

 

DESCRIBE/DESC语句可以查看表的字段信息,其中包括:字段名。字段数据类型、是否为主键、是否有默认值。语法规则:

DESCRIBE 表名;

后者简写为:

DESC 表名;

各个字段的含义分别为:

NULL:表示该列是否可以存储NULL指

Key:表示该列是否已编制索引。PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在该列中某个给定值允许出现多次。

Default:表示该列是否有默认值。如果有,是多少。

Extra:表示可以获取的给定列有关的附加信息,例如AUTO_INCREMENT等。

 

 

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

SHOW CREATE TABLE 语句用来显示创建表时的CREATE TABLE语句,语法格式如下:

SHOW CREATE TABLE;

使用SHOW CREATE TABLE语句,不仅可以查看创建时候的详细语句,而且还可以查看存储引擎和字符编码

PS:

如果不佳“\G”参数,显示的结果可能非常混乱,加上参数“\G”之后,可使显示结果更加直观,易于观察。

 

 

修改数据表

1、修改表名

 

MySQL是通过ALTER TABLE语句来实现表名的修改的,具体的语法规则如下:

ALTER TABLE RENAME TO ;

其中TO为可选参数,使用与否均不影响结果。

范例:

将数据表department改名为dept

alter table department rename dept;

可以使用DESC查看修改前后两个表的结构,修改表名并不修改表结构,因此修改名称后的表和修改之前的表结构是完全相同的。

 

2、修改字段的数据类型

 

修改字段的数据类型就是把字段的数据类型转换成另一种数据类型。在MySQL中修改字段数据类型的语法规则如下:

ATTER TABLE MODIFY

范例:

将数据表department2中的name字段的数据类型有VARCHAR(22)修改成VARCHAR(30)。

alter table department2 modify name varchar(30);

 

3、修改字段名

 

MySQL中修改字段名的语法规则如下:

ALTER TABLE CHANGE

其中,“旧字段名”是指的修改前的字段名;“新字段名”指修改后的字段名;“新数据类型”指的是修改后的数据类型;如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样即可,但是数据类型不能为空。

范例:

将数据表department字段location改名为local,数据类型保持不变,SQL语句如下:

alter table department change location local varchar(50);

 

 

4、添加字段

添加字段语法格式如下:

ALTER TABLE ADD [约束条件] [FIRST | AFTER 已存在的字段名 ] ;

新字段名为需要添加的字段名称;“FIRST”为可选参数,其作用是将新添加的字段设置为表的第一个字段;“AFTER”为可选参数,其作用是将新添加的字段添加到指定的“已存在字段名”的后面。如果SQL语句中没有“FIRST”、“AFTER”这两个参数,则默认将这个字段放在数据表的最后列。

A、添加无完整性约束的字段

范例:在数据表department中添加一个没有添加完整性约束的INT类型的字段managerId(部门经理编号),SQL语句如下:

ALTER TABLE department ADD managerId INT(10);

 

B、添加有完整性约束的字段

范例:在数据表department中添加一个不能为空的VARCHAR(25)类型的字段column1,SQL语句如下:

ALTER TABLE department ADD column1 VARCHAR(12) NOT NULL;

 

 

C、在表的第一列添加一个字段

范例:
在数据表department中添加一个INT类型的字段column2,SQL语句如下

alter table department add column2 int(10) first;

 

D、在表的指定列之后添加一个字段

范例:

在数据表department中添加一个恶INT类型的字段column3在column2列之后。

alter table department add column3 int(10) after column2;

 

 

5、删除字段

删除字段是将数据表中的某个字段从表中删除,语法格式为:

ALTER TABLE DROP

范例:

删除数据表department中column2字段

alter table department drop column2;

 

 

6、修改字段的排列位置

语法格式:

ALTER TABLE MODIFY FIRST|AFTER

“字段1”值要修改位置的字段,“数据类型”值“字段1”的数据类型,“FIRST”为可选参数,指“字段1”修改为表的第一个字段,“AFTER字段2”指的是将“字段1”插入到“字段2”后面。

A、修改字段为表的第一个字段

范例:

将数据表department中的column1字段修改为表的第一个字段,SQL语句:

alter table department modify column1 varchar(12) first;

 

 

 

B、修改字段到表的指定列之后

范例:

将数据表department中的column1字段修改为表的managerId字段的后面。SQL语句如下:

alter table department modify column1 varchar(12) after managerId;

 

 

7、修改表的存储引擎

 

存储引擎是MySQL中的数据存储在文件或者内存中时采用的不同技术实现。MySQL中主要的存储引擎有:MyISAM、InnoDB、MEMORY、BDB、FEDERATED等。可以使用SHOW ENGINES;语句查看系统支持的存储引擎。

更改表的存储引擎的语法格式如下:

ALTER TABLE ENGINE=;

范例:

将数据表student的存储引擎修改为MyISAM。

 

 

 

8、删除表的外键约束

删除外键的语法:

ALTER TABLE DROP FOREIGN KEY

范例:

创建employee9

 

create table employee9

(

id INT(11) primary key ,

name varchar(20),

deptId INT(11),

salary float,

constraint fk_emp_dept foreign key(deptId) references department(id)

);

 

删除外键

alter table employee9 drop foreign key fk_emp_dept;

 

 

 

删除数据表

1、删除没有被关联的表

MySQL中,使用DROP TABLE可以一次删除一个或多个没有被其他表关联的数据表。语法格式:

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

 

 

 

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

 

数据表之间存在外键关联的情况,如果直接删除父表,结果会显示失败。原因是直接删除,将破坏表的参照完整性。

如果一定要删除,可以先删除与之关联的子表,在删除父表,只是这样同时删除了两个表中的数据。如果要将子表保留,这是要单独删除父表,只需将关联的表的外键约束条件取消,然后删除父表

范例:

创建dept表

create table dept(id INT(11) primary key ,name varchar(10),location varchar(30));

 

创建emp表

create table emp

(

id INT(10) primary key,

name varchar(20),

deptId INT(10),

constraint fk_emp_dept foreign key(deptId) references dept(id)

);

 

修改外键关联

alter table emp drop foreign key fk_emp_dept;

 

删除dept表

drop dept;

 

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
减少在Docker中使用MySQL内存的使用减少在Docker中使用MySQL内存的使用Mar 04, 2025 pm 03:52 PM

本文探讨了Docker中的优化MySQL内存使用量。 它讨论了监视技术(Docker统计,性能架构,外部工具)和配置策略。 其中包括Docker内存限制,交换和cgroups

mysql无法打开共享库怎么解决mysql无法打开共享库怎么解决Mar 04, 2025 pm 04:01 PM

本文介绍了MySQL的“无法打开共享库”错误。 该问题源于MySQL无法找到必要的共享库(.SO/.DLL文件)。解决方案涉及通过系统软件包M验证库安装

如何使用Alter Table语句在MySQL中更改表?如何使用Alter Table语句在MySQL中更改表?Mar 19, 2025 pm 03:51 PM

本文讨论了使用MySQL的Alter Table语句修改表,包括添加/删除列,重命名表/列以及更改列数据类型。

在 Linux 中运行 MySQl(有/没有带有 phpmyadmin 的 podman 容器)在 Linux 中运行 MySQl(有/没有带有 phpmyadmin 的 podman 容器)Mar 04, 2025 pm 03:54 PM

本文比较使用/不使用PhpMyAdmin的Podman容器直接在Linux上安装MySQL。 它详细介绍了每种方法的安装步骤,强调了Podman在孤立,可移植性和可重复性方面的优势,还

什么是 SQLite?全面概述什么是 SQLite?全面概述Mar 04, 2025 pm 03:55 PM

本文提供了SQLite的全面概述,SQLite是一个独立的,无服务器的关系数据库。 它详细介绍了SQLite的优势(简单,可移植性,易用性)和缺点(并发限制,可伸缩性挑战)。 c

在MacOS上运行多个MySQL版本:逐步指南在MacOS上运行多个MySQL版本:逐步指南Mar 04, 2025 pm 03:49 PM

本指南展示了使用自制在MacOS上安装和管理多个MySQL版本。 它强调使用自制装置隔离安装,以防止冲突。 本文详细详细介绍了安装,起始/停止服务和最佳PRA

如何为MySQL连接配置SSL/TLS加密?如何为MySQL连接配置SSL/TLS加密?Mar 18, 2025 pm 12:01 PM

文章讨论了为MySQL配置SSL/TLS加密,包括证书生成和验证。主要问题是使用自签名证书的安全含义。[角色计数:159]

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么?哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么?Mar 21, 2025 pm 06:28 PM

文章讨论了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比较了它们对初学者和高级用户的功能和适合性。[159个字符]

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器