0

0

MySQL自学篇(三)_MySQL

php中文网

php中文网

发布时间:2016-06-01 13:01:15

|

1770人浏览过

|

来源于php中文网

原创

查看数据表结构

使用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、修改字段的排列位置

语法格式:

UQ云商B2B2C系统
UQ云商B2B2C系统

UQCMS云商是一款B2B2C电子商务软件 ,非常适合初创的创业者,个人及中小型企业。程序采用PHP+MYSQL,模板采用smarty模板,二次开发,简单方便,无需学习其他框架就可以自行模板设计。永久免费使用,操作简单,安全稳定。支持PC+WAP+微信三种浏览方式,支持微信公众号。

下载

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;

 

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

23

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

11

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

7

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

8

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

3

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

26

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

9

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

181

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

14

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Swoft2.x速学之http api篇课程
Swoft2.x速学之http api篇课程

共16课时 | 1.0万人学习

Python+微信小程序18天实战开发
Python+微信小程序18天实战开发

共206课时 | 14.7万人学习

第二十四期_前端开发
第二十四期_前端开发

共161课时 | 4.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号