DDL(data definition language)
標籤(空格分隔): mysql
- 創建表
drop table if exists student;
create table student(
stu_id int PRIMARY KEY ,
stu_name varchar(32),
stu_age int,
stu_cash DECIMAL(9,2)
);
- DDL,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,數據類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時使用
- 查看錶的結構
describe student; 或者 desc student;
- 查看當前數據庫的表
show tables;
- 修改表名
# 將test的表名修改爲updatetest
alter table test rename as updatetest ;
- 向表裏面添加列
# 向student裏面添加address列
alter TABLE student add address VARCHAR(50) DEFAULT '地址不詳';# 添加列
- 修改列名
當修改列名後,設置Auto_increament會消失
#將name 修改爲NameUpdate
alter table testxx change name NameUpdate varchar(55);
- 修改列的屬性
# 將address的屬性修改爲 varchar(16)
alter table student Modify Address varchar(16);
- 修改列的字段
# 將name 修改爲xname
alter table student change phone xphone varchar(32);
- 刪除 is_delete列
alter table student drop is_delete;
- 刪除表
# 刪除test1表
drop table if exists test1;
decimmal通常用於定義金錢
cash 列最多可以存儲6位數字,小數位數爲2位; 因此,cash列的範圍是從-9999.99到9999.99。
cash decimal(6,2) NOT NULL,
- truncate 用於清空數據,但是表的結構索引,約束都不改變
truncate [table] table_nam ([table 可以省略])
相同:
都能刪除數據、不刪除表的結構、但是truncate速度更快不同:
使用truncate table 重新設置Auto_Increment計數器使用truncate tbale 不會對事務產生影響
Delete
Delete from 表名[where condition]
#刪除表裏面的所有數據
delete from grade;
# 刪除表裏面的某一列
delete from grade where gradeId = 95001;
將列設置爲自動增長
# 設置自動增長列
alter table greadeTest change GreadeId GreadeId int auto_increment;
# 設置增長底數
alter table GreadeTest auto_increment=95008
# 查看錶結構
desc student
# 查看錶的創建結構
show create table student