首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Mysql常用sql语句(2)- 操作数据表

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

作者头像
小菠萝测试笔记
发布2020-06-09 15:38:38
发布2020-06-09 15:38:38
8400
举报

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

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

前言

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

数据表有哪些操作?

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

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

创建数据表

语法格式

代码语言:javascript
复制
CREATE TABLE <表名> ( [表定义选项] )[表选项][分区选项];

知识点

  • 表名:两种写法,可以直接写数据表的名字 ,也可以 db_name.tbl_name ,先指定数据库再指定数据表名;后者写法是为了:无论是否在当前数据库,也能通过这种方式在指定数据库下创建表

tbl_name

  • 表定义选项:一般都是 列名、列定义、默认值、约束、索引组成

实际栗子

代码语言:javascript
复制
# 创建数据表
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 ) 
);    

查看表结构

代码语言:javascript
复制
desc yytest.yytest;

执行结果

知识点

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

查看数据表的创建语句

代码语言:javascript
复制
show create table yytest;

执行结果

知识点

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

复制数据表

代码语言:javascript
复制
# 仅复制表结构
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

  • 复制表不包含主键、索引、自增等

修改数据表

语法格式

代码语言:javascript
复制
ALTER TABLE <表名> [修改操作];

知识点

常用的修改表的操作

  • 修改表名
  • 修改字段数据类型或字段名
  • 增加和删除字段
  • 修改字段的排列位置
  • add、drop、change、modify、rename

修改表名

语法格式

代码语言:javascript
复制
ALTER TABLE <旧表名> RENAME [TO] <新表名>;

注意

  • 加不加都行,不影响结果

[TO]

  • 修改表名不影响表结构

实际栗子

代码语言:javascript
复制
alter table yytest2 rename to yytest22;
alter table yytest22 rename yytest22;

修改字段排列顺序

语法格式

代码语言:javascript
复制
ALTER TABLE <表名> MODIFY <字段名> <数据类型> [FIRST|AFTER 已存在的字段名];

实际栗子

代码语言:javascript
复制
# 放在首位
alter table yytest22 modify sex int(2) first;

# 放在birth字段后面
alter table yytest22 modify sex int(2) after birth;

修改字段数据类型

语法格式

代码语言:javascript
复制
ALTER TABLE <表名> MODIFY <字段名> <数据类型>;

实际栗子

代码语言:javascript
复制
# 修改字段数据类型
alter table yytest22 modify sex int(2);

修改字段名字

语法格式

代码语言:javascript
复制
ALTER TABLE <表名> CHANGE <旧字段> <新字段> <数据类型>;

实际栗子

代码语言:javascript
复制
# 修改字段名
alter table yytest22 change sex sexs int(2);

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

知识点

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

添加字段

语法格式

代码语言:javascript
复制
ALTER TABLE <表名> ADD <字段名> <数据类型>  [约束条件] [FIRST|AFTER 已存在的字段名];

实际栗子

代码语言:javascript
复制
# 添加字段
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;

删除字段

语法格式

代码语言:javascript
复制
ALTER TABLE <表名> DROP <字段名>;

实际栗子

代码语言:javascript
复制
# 删除字段
alter table yytest22 drop  phone;

删除数据表

语法格式

代码语言:javascript
复制
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]

可以看到跟删除库差不多

实际栗子

代码语言:javascript
复制
# 删除表如果存在
drop table if exists yytest,polotest

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 前言
  • 数据表有哪些操作?
  • 创建数据表
    • 语法格式
    • 知识点
    • 实际栗子
  • 查看表结构
    • 执行结果
    • 知识点
  • 查看数据表的创建语句
    • 执行结果
    • 知识点
  • 复制数据表
    • 知识点
  • 修改数据表
    • 语法格式
    • 知识点
    • 常用的修改表的操作
    • 修改表名
      • 语法格式
      • 注意
      • 实际栗子
    • 修改字段排列顺序
      • 语法格式
      • 实际栗子
    • 修改字段数据类型
      • 语法格式
      • 实际栗子
    • 修改字段名字
      • 语法格式
      • 实际栗子
      • 知识点
    • 添加字段
      • 语法格式
      • 实际栗子
    • 删除字段
      • 语法格式
      • 实际栗子
  • 删除数据表
    • 语法格式
    • 实际栗子
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档