Mysql常用sql语句(二)- 操作数据表

21篇测试必备的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

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

相关文章