测试必备的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语句(二)- 操作数据表的更多相关文章

  1. mysql 常用sql语句 二

    mysql 查询 基本查询 select * from users; 去重 select distinct(name),high from users order by high desc; ## 注 ...

  2. Mysql常用sql语句(14)- 多表查询

    测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html 前言 ...

  3. mysql 常用 sql 语句 - 快速查询

    Mysql 常用 sql 语句 - 快速查询 1.mysql 基础 1.1 mysql 交互         1.1.1 mysql 连接             mysql.exe -hPup    ...

  4. php面试专题---MySQL常用SQL语句优化

    php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...

  5. Mysql常用sql语句(21)- regexp 正则表达式查询

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 正则的强大不言而喻,Mysql中也提供了 reg ...

  6. Mysql常用sql语句(22)- insert 插入数据

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 终于讲完基础的查询语句了...这篇讲的就是插入数 ...

  7. Mysql常用sql语句(3)- select 查询语句基础使用

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 针对数据表里面的每条记录,select查询语句叫 ...

  8. Mysql常用sql语句(4)- distinct 去重数据

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 我们使用select进行数据查询时是会返回所有匹 ...

  9. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

随机推荐

  1. Tian Tian 菾菾 导游 陪同

    自画像系列是梵高的代表作之一,他是一位自学成才的画家,下笔完全自由,主观提取了当时印象派画家学到的技巧,在这幅画中,我们可以看到,颜色在画中的堆叠,色彩与笔在画中表现的形态,都表现出,梵高在他作画中内 ...

  2. 不同浏览器Cookie大小

    一.浏览器允许每个域名所包含的 cookie 数:Microsoft 指出 Internet Explorer 8 增加 cookie 限制为每个域名 50 个,但 IE7 似乎也允许每个域名 50 ...

  3. iPhone7产业链不为人知的辛酸

    ​苹果金秋新品发布会是科技界的"春晚",年复一年地重复,难免会让人产生审美疲劳,但每逢中国教师节前后,全球的科技人士和媒体还是会不约而同地走到一起,等待苹果团队为之奉献出好的产品和 ...

  4. Web 项目刚要打包,却找不到项目资源?

    编程无小事,不管是语言层面还是工具层面,都要熟悉,方能在编程中过程中众享丝滑,不然就随处卡顿,耗费时间不说,还没有任何成就感.撸码过程中用 Idea 也很多年了,工具或环境遇到问题,问下度娘就完事了, ...

  5. xshell6使用的命令

    我们进入Xshell的界面之后连接上Linux服务器 常用命令: (1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下 ...

  6. 【算法记事本#NLP-1】最大匹配算法分词

    本文地址:https://www.cnblogs.com/oberon-zjt0806/p/12409536.html #NLP-1 最大匹配算法(MM) 最大匹配算法(Maximum Matchin ...

  7. FCC 成都社区·前端周刊 第 7 期

    01. ES2016, 2017, 2018 中的新特性 文章介绍了 18 个 ECMAScript 2016,2017 和 2018 中新增加的特性,这些特性已被加入到 TC39 提案中.包括Arr ...

  8. vue项目npm run dev 报错Uncaught SyntaxError: Unexpected token <

    目前代码所处位置是micro分支,该分支是从dev分支直接拉下来进行npm run dev的,而dev分支是可以正常运行的,网上的诸多解释是babel转义时候报错,其实对比可见,两个分支不同的地方应该 ...

  9. GPS信号模拟器信号发生器应用介绍

    GPS信号模拟器信号发生器应用介绍 随着近些年的科学技术不断发展,卫星导航技术也在日益发展和成熟,并在不同领域得到广泛的应用.尤其在导航定位接收机的研制测试阶段,就需要GPS信号模拟器来模拟不同环境和 ...

  10. Hyperledger Fabric1.4环境搭建

    参考文档:https://www.cnblogs.com/cbkj-xd/p/11067790.html 1. 设置下载源为阿里源 sudo vim /etc/apt/sources.list 在配置 ...