Mysql常用sql語句(2)- 操作數據表


測試必備的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

謹慎操作吧!!數據會清空哦!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM