微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mysql常用sql语句2- 操作数据表

测试必备的MysqL常用sql语句系列

https://www.cnblogs.com/poloyy/category/1683347.html

 

前言

针对数据表的操作语句叫做数据定义语言(DDL)  

 

数据表有哪些操作?

  • 创建数据表
  • 查看表结构
  • 查看数据表的创建语句
  • 复制数据表
  • 修改数据表
  • 删除数据表

简称“增删改查“,点击右边目录即可跳转哦! -------------->>>>>>>>>> 

 

创建数据表

语法格式

CREATE TABLE <表名> ( [表定义选项] )表选项][分区选项];

知识点

  • 表名:两种写法,可以直接写数据表的名字 tbl_name ,也可以  db_name.tbl_name ,先指定数据库再指定数据表名;后者写法是为了:无论是否在当前数据库,也能通过这种方式在指定数据库下创建表
  • 表定义选项:一般都是 列名、列定义、认值、约束、索引组成

 

实际栗子

# 创建数据表
TABLE yytest (
    id INT ( 10 ) NOT NULL UNIQUE PRIMARY KEY,uname VARCHAR ( 20 ) NULL4 ),birth YEAR2050 ) 
);

# 指定数据库,创建数据表
 yytest.polotest (
    id  AUTO_INCREMENT,stu_id 10 ) 
);    

 

查看表结构

desc yytest.yytest;

执行结果

 

知识点

  • Null:表示该字段是否可以存储 NULL 值
  • Key:表示该字段是否已编制索引。PRI 表示主键,UNI 表示UNIQUE 索引,MUL 表示某个给定值允许出现多次
  • Default:表示该字段是否有认值,如果有,值是多少
  • Extra:表示该字段的附加信息,如 AUTO_INCREMENT 等

 

查看数据表的创建语句

show create table yytest;

执行结果

 

知识点

不仅可以查看创建表时的详细语句,而且可以查看存储引擎和字符编码

 

复制数据表

# 仅复制表结构
table yytest2 like yytest;

# 复制表结构和数据
table yytest3 as select  * from yytest;

# 仅复制表的指定字段结构
table yytest4 select id,uname,sex from yytest where 1<>1;

# 复制表的指定字段结构和数据
table yytest5  yytest;

# 查看表创建语句:没有包含主键和自增
show table yytest5;

知识点

  • 仅复制全部字段的结构直接加 like 
  • 复制表不包含主键、索引、自增等

 

修改数据表

语法格式

ALTER > 修改操作];

知识点

常用的修改表的操作

 

修改表名

语法格式

<旧表名> RENAME TO] <新表名>

注意

  • ] 加不加都行,不影响结果
  • 修改表名不影响表结构

实际栗子

alter table yytest2 rename to yytest22;
table yytest22 rename yytest22;

 

修改字段排列顺序

语法格式

> MODIFY <字段名> <数据类型FirsT|AFTER 已存在的字段名];

实际栗子

# 放在首位
table yytest22 modify sex int(2) first;

# 放在birth字段后面
2) after birth;

 

修改字段数据类型

语法格式

>;

实际栗子

# 修改字段数据类型
2);

 

修改字段名字

语法格式

> CHANGE <旧字段<新字段# 修改字段名
table yytest22 change sex sexs );

# 修改字段数据类型和字段名
table yytest22 change sexs sex varchar(4);

知识点

change不仅可以改字段名,也可以改字段数据类型

 

添加字段

语法格式

> ADD >  约束条件] # 添加字段
table yytest22 add  phone 11);

# 添加字段到首位
11) not null default  first;

# 添加字段到某个字段后面
11) after sex;

 

删除字段

语法格式

DROP >

实际栗子

# 删除字段
drop  phone;

 

删除数据表

语法格式

DROP TABLE IF EXISTS] 表名1 ]

可以看到跟删除库差不多

实际栗子

# 删除表如果存在
drop table if exists yytest,polotest

谨慎操作吧!!数据会清空哦!!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐