Mysql資料庫學習之資料定義語言

2021-08-29 01:26:40 字數 3477 閱讀 5825

上文中我們學習了如何建立資料庫,本文將簡述建立表和修改表及常見約束的設定。

語法:create table 表名(《列名1>《列的資料型別》,《列名2>《列2的資料型別》《列名n>《列n的資料型別》)

如:在公司資料庫中,建立員工資訊表,id,姓名,性別,年齡,家庭住址,**如下:

use company;

create table t_employer (id int primary key,emp_name varchar(20),gender int,age int,address varchar(50));

執行結果如下:

我們可以看到在company資料庫中有乙個表t_employer;

我們可以通過 desc 表名檢視表的資訊

在表建立完成後,有時候需要新增一行。我們在mysql中使用alter來修改表的結構。

插入列:

語法:alter table 表名 add 列名 列的資料型別;

例如在員工表中新增乙個**號碼列:

更改列:語法:alter table 表名 change 原列名 新列名 資料型別;

例如:我們想要性別是』男』,'女』顯示的

alter table t_employer change gender gender char(2);
刪除列:語法:alter table 表名 drop 列名

如:我們並不需要age列,則:

alter table t_employer drop age;
更改表名:語法:alter table 表名 rename 新錶名

如:我想把t_employer改為t_employee

alter table t_employer rename t_employee;
刪除表:語法:drop table 表名

當我們不要某個表時,刪除表

如:刪除員工表

drop table t_employee;
為了保證資料的完整性,mysql中採用約束來對列的資料進行規範,主要有主鍵約束、唯一約束、非空約束、預設約束、外來鍵約束、引用約束。

主鍵約束:

主鍵是為了唯一標示一條資料,主鍵類的值唯一且不為空。建議使用id作為主鍵,主鍵不具有業務意義。

設定主鍵約束:

1、在建立表時,在要設定主鍵的列的資料型別後+primary key

如:

create table t_custorm (id int primary key,cus_name varchar(20),tel int);
2、在建立表時,在列的末尾寫primary key(列名)

create table t_custorm (id int ,cus_name varchar(20),tel int,primary key(id));
3.對於建立了表,但未設定主鍵的表,可用alter新增主鍵約束

alter table t_custorm add primary key(id);
唯一約束唯一約束,表示表內這個列的值唯一,不可重複。

可在建立表時新增唯一約束,使用unique關鍵字

create table t_custorm (id int ,cus_name varchar(20),tel int unique,primary key(id));
可在表建立完成之後新增:

alter table 表名 add unique(列名)

alter table t_custorm add unique(tel);
客戶表的**號碼唯一

非空約束

非空約束,限制欄位的值不能為空。

使用not null關鍵字,在建立表時:

create table t_custorm (id int ,cus_name varchar(20) not null,tel int unique,primary key(id));
客戶表的姓名不為空

表建立好之後新增:

alter table 表名 change 原列名 新列名 資料型別 not null;

alter table t_custorm  change cus_name name varchar(20) not null;
刪除非空約束:

alter table 表名 change 原列名 新列名 資料型別 ;

alter table t_custorm  change cus_name name varchar(20) ;
預設約束在某些時候,可以不設定值,但缺省會新增,這時候使用default關鍵字即可

建立表時設定:

create table t_custorm (id int ,cus_name varchar(20) not null,gender int default 0,tel int unique,primary key(id));
表已建立完成設定:

alter table 表名 change 原列名 新列名 資料型別 default 預設值 ;
刪除預設約束與非空約束一致:

設定性別預設為0

外來鍵約束

生活中我們需要乙個表中的字段引用另乙個表的主鍵,這個時候需建立外來鍵約束。

外來鍵約束建立的條件時兩個表中的字段型別一致。

1、建立表示建立外來鍵:

foreign key(列名) references 主表名稱(主鍵列名)

2、建立完成的表新增外來鍵

alter table 表名 add foreign key(列名) references 主表名稱(主鍵列名);

刪除外來鍵約束:

alter table 表名 drop foreign key 列名;

3 mysql學習之資料庫定義語句

資料定義語句包括alter database alter table create database create index create table drop database drop index drop table rename table語法 一 alter database語法 常見的...

mysql的資料庫定義 MySQL的資料庫定義語法

建立資料庫 在mysql中,使用 create database 或 create schema 語句建立資料庫 語法結構 create if not exists db name default character set charest name default collate collatio...

HiveQL資料定義之資料庫

資料定義語言部分,用於建立 修改和刪除資料庫 表 檢視 函式和索引。create database dba 如果資料庫dba已經存在的話,將會丟擲乙個錯誤資訊。避免出現這種情況可以使用 create database if not exists dba show databases 如果資料庫比較多...