Mysql常用sql语句(二)- 操作数据表
测试必备的Mysql常用sql语句系列
https://www.cnblogs.com/poloyy/category/1683347.html
前言
针对数据表的操作语句叫做数据定义语言(DDL)
数据表有哪些操作?
- 创建数据表
- 查看表结构
- 查看数据表的创建语句
- 复制数据表
- 修改数据表
- 删除数据表
简称“增删改查“,点击右边目录即可跳转哦! -------------->>>>>>>>>>
创建数据表
语法格式
CREATE TABLE <表名> ( [表定义选项] )[表选项][分区选项];
知识点
- 表名:两种写法,可以直接写数据表的名字 tbl_name ,也可以 db_name.tbl_name ,先指定数据库再指定数据表名;后者写法是为了:无论是否在当前数据库,也能通过这种方式在指定数据库下创建表
- 表定义选项:一般都是 列名、列定义、默认值、约束、索引组成
实际栗子
# 创建数据表
CREATE TABLE yytest (
id INT ( 10 ) NOT NULL UNIQUE PRIMARY KEY,
uname VARCHAR ( 20 ) NOT NULL,
sex VARCHAR ( 4 ),
birth YEAR,
department VARCHAR ( 20 ),
address VARCHAR ( 50 ),
yypolo VARCHAR ( 20 )
); # 指定数据库,创建数据表
CREATE TABLE yytest.polotest (
id INT ( 10 ) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,
stu_id INT ( 10 ) NOT NULL,
c_name VARCHAR ( 20 ),
istester VARCHAR ( 50 ),
grade INT ( 10 )
);
查看表结构
desc yytest.yytest;
执行结果

知识点
- Null:表示该字段是否可以存储 NULL 值
- Key:表示该字段是否已编制索引。PRI 表示主键,UNI 表示UNIQUE 索引,MUL 表示某个给定值允许出现多次
- Default:表示该字段是否有默认值,如果有,值是多少
- Extra:表示该字段的附加信息,如 AUTO_INCREMENT 等
查看数据表的创建语句
show create table yytest;
执行结果

知识点
不仅可以查看创建表时的详细语句,而且可以查看存储引擎和字符编码
复制数据表
# 仅复制表结构
create table yytest2 like yytest; # 复制表结构和数据
create table yytest3 as select * from yytest; # 仅复制表的指定字段结构
create table yytest4 as select id,uname,sex from yytest where 1<>1; # 复制表的指定字段结构和数据
create table yytest5 as select id,uname,sex from yytest; # 查看表创建语句:没有包含主键和自增
show create table yytest5;
知识点
- 仅复制全部字段的结构直接加 like
- 复制表不包含主键、索引、自增等
修改数据表
语法格式
ALTER TABLE <表名> [修改操作];
知识点
常用的修改表的操作
- 修改表名
- 修改字段数据类型或字段名
- 增加和删除字段
- 修改字段的排列位置
- add、drop、change、modify、rename
修改表名
语法格式
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
注意
- [TO] 加不加都行,不影响结果
- 修改表名不影响表结构
实际栗子
alter table yytest2 rename to yytest22;
alter table yytest22 rename yytest22;
修改字段排列顺序
语法格式
ALTER TABLE <表名> MODIFY <字段名> <数据类型> [FIRST|AFTER 已存在的字段名];
实际栗子
# 放在首位
alter table yytest22 modify sex int(2) first; # 放在birth字段后面
alter table yytest22 modify sex int(2) after birth;
修改字段数据类型
语法格式
ALTER TABLE <表名> MODIFY <字段名> <数据类型>;
实际栗子
# 修改字段数据类型
alter table yytest22 modify sex int(2);
修改字段名字
语法格式
ALTER TABLE <表名> CHANGE <旧字段> <新字段> <数据类型>;
实际栗子
# 修改字段名
alter table yytest22 change sex sexs int(2); # 修改字段数据类型和字段名
alter table yytest22 change sexs sex varchar(4);
知识点
change不仅可以改字段名,也可以改字段数据类型
添加字段
语法格式
ALTER TABLE <表名> ADD <字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名];
实际栗子
# 添加字段
alter table yytest22 add phone varchar(11); # 添加字段到首位
alter table yytest22 add phone varchar(11) not null default 2 first; # 添加字段到某个字段后面
alter table yytest22 add phone varchar(11) after sex;
删除字段
语法格式
ALTER TABLE <表名> DROP <字段名>;
实际栗子
# 删除字段
alter table yytest22 drop phone;
删除数据表
语法格式
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]
可以看到跟删除库差不多
实际栗子
# 删除表如果存在
drop table if exists yytest,polotest
谨慎操作吧!!数据会清空哦!!
Mysql常用sql语句(二)- 操作数据表的更多相关文章
- mysql 常用sql语句 二
		mysql 查询 基本查询 select * from users; 去重 select distinct(name),high from users order by high desc; ## 注 ... 
- Mysql常用sql语句(14)- 多表查询
		测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html 前言 ... 
- mysql 常用 sql 语句 - 快速查询
		Mysql 常用 sql 语句 - 快速查询 1.mysql 基础 1.1 mysql 交互 1.1.1 mysql 连接 mysql.exe -hPup ... 
- php面试专题---MySQL常用SQL语句优化
		php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ... 
- Mysql常用sql语句(21)- regexp 正则表达式查询
		测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 正则的强大不言而喻,Mysql中也提供了 reg ... 
- Mysql常用sql语句(22)- insert 插入数据
		测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 终于讲完基础的查询语句了...这篇讲的就是插入数 ... 
- Mysql常用sql语句(3)- select 查询语句基础使用
		测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 针对数据表里面的每条记录,select查询语句叫 ... 
- Mysql常用sql语句(4)- distinct 去重数据
		测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 我们使用select进行数据查询时是会返回所有匹 ... 
- Mysql 常用 SQL 语句集锦
		Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ... 
随机推荐
- Hackintosh Of Lenovo R720 15IKBN
			Hackintosh Of Qftm 一个黑苹果爱好者的项目 定制:macOS Catalina 10.15.1 电脑配置 一键查看电脑配置(鲁大师.360驱动管理.Lenovo管家等) 规格 详细信 ... 
- VUE深入浅出(学习过程)
			VUE 2020年02月26日06:27:10 复习过Java8新特性之后开始学习VUE. 了解node了之后,来了解一下VUE.针对于学习VUE用什么开发工具这个问题上,我这里有vsCode和web ... 
- JDK 1.8 新特性之Date-Time API
			来源:请点击查看 1.8之前的日期类: 线程不安全:java.util.Date 这个类线程不安全,而且所有日期类都是可变的. 时间处理麻烦:默认的开始日期从1900年,不支持国际化,不提供时区支持, ... 
- 修改gridfilters.js源码,往后台多传递一个参数,并设置NumericFilter、StringFilter默认提示信息
			创作不易,转载请注明出处!!! 效果 修改:ext-extend.js源码 在最后面添加3行,重写方法 代码拷贝区 Ext.override(Ext.ux.grid.GridFilters, { me ... 
- cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'mvc:resources'.
			新的错误出现 spring-mvc.xml文件 <mvc:resources mapping="/static/**" location="/static/&qu ... 
- 用vue开发一个公众号商城SPA——1.前期准备和写页面
			使用vue开发公众号商城 第1篇记录项目准备.搭建,写页面遇到第问题以及总结,持续更新 公司最近接了个商城项目,包括PC端商城.微信公众号网页商城.后台管理系统.这几天在做微信公众号商城,又新接触了很 ... 
- js轮询及踩过的坑
			背景 下午四点,天气晴朗,阳光明媚,等着下班产品:我希望页面上的这个数据实时变化开发:···,可以,用那个叫着WebSocket的东西,再找一个封装好框架,如:mqtt(感觉自己好机智)产品:要开发好 ... 
- spring boot整合memcache
			1.导入memcached客户端jar包 <dependency> <groupId>com.whalin</groupId> <artifactId> ... 
- VOIP RTP RTSP 实现 Baresip 源码分析
			RTP 使用 udp 进行数据传输,udp 是不能保证,数据包一定可以到达的,也不提供时序.同时还有 MTU 限制. RTCP 用来配合 RTP 提供,传输报告,会话建立和退出. 一大批参考规范 * ... 
- python 2 和3 的区别
			python 2 和3 的区别 Python2 Python3 打印 print " " print() 输入 raw_input() input() 范围 range/xrang ... 
