程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql表基本操作,mysql基本操作

Mysql表基本操作,mysql基本操作

編輯:MySQL綜合教程

Mysql表基本操作,mysql基本操作


一. 創建表的方法

語法:create table 表名(

屬性名數據類型完整約束條件,

屬性名數據類型條完整約束件,

。。。。。。。。。

屬性名數據類型

);

(1)舉例:
1 create table example0( 2 id int, 3 name varchar(20), 4 sexboolean);

 

表的完整性約束 約束條件 說明 (1)primary key 標識該字段為表的主鍵,   (2) foreign key 標識該字段為表的外鍵,與某主表相連系   (3) not null 標識該屬於的值不能為空   (4) unique 標識這個屬性值是唯一   (5) auto_increment 標識該屬性值的自動增加   (6) default 為該屬性值設置默認值

 

 

 

 

 

 

 

 

 

1.1 設置表的主鍵

  主鍵是一個表的特殊字段,這個字段是唯一標識表中的每條信息,主鍵和記錄的關系,跟人和身份證一樣。名字可以一樣,但是身份證號碼絕對不會一樣,主鍵用來標識每個記錄,每個記錄的主鍵值都不同。

  主鍵可以幫助Mysql以最快的速度查找到表中的每一條信息,主鍵必須要滿足的條件那就是它的唯一性,表中的任意兩條記錄的主鍵值,不能相同,否則就會出現主鍵值沖突,主鍵值不能為空,可以是單一的字段,也可以是多個字段的組合。

  主鍵沖突:
單主鍵情況:主鍵不能相同
多主鍵情況:表中有多主鍵時,只要主鍵不完全相同都是符合條件的,只有當所有主鍵一模一樣時才會主鍵沖突

1 create table sxkj( 2 User_id int primary key, 3 user_name varchar(20), 4 user_sexchar(7)); 主鍵

 

 1.2 設置多個字段做主鍵

1 舉例: 2 create table sxkj2( 3 user_id int, 4 user_name float, 5 grade float, 6 primary key(user_id,user_name)); 多主鍵

 

1.3 設置表的外鍵

  外鍵是表的一個特殊字段,如果aa是B表的一個屬性且依賴於A表的主鍵,那麼A表被稱為父表,B表被稱為子表。

  語法:

  constraint 外鍵別名 foreign key(外鍵字段1,外鍵字段2) references 表名(關聯的主鍵字段1,主鍵字段2);

 

1.4 設置表的非空值

  語法:屬性名 數據類型  NOT NULL  

1 舉例:
2 create table C(
3 user_id int NOT NULL);

 

1.5 設置表的唯一性約束

  唯一性指的就是所有記錄中該字段不能重復出現

  語法:屬性名 數據類型 unique

1 舉例:
2 create table D(
3 user_id int unique);

 

1.6 設置表的屬性值自動增加

  Auto_increment是Mysql數據庫中特殊的約束條件,它的作用是向表中插入數據時自動生成唯一的ID,一個表只能有一個字段使用auto_increment 約束,必須是唯一的。

  語法:屬性名 數據類型 auto_increment

  *默認字段值從1開始自增。

1 舉例:
2 create table F(
3 user_id int primary key auto_increment);
1 插入一條空的信息
2 insert into F values();
3 
4 查看表格F的內容
5 select * from F;
6 
7 在結果中可以看到user_id為1

 

1.7 設置表的默認值

  在創建表時,可以指定表中的字段的默認值,如果插入一條新的記錄時,沒有給這個字段復制,那麼數據庫會自動的給這個字段插入一個默認值,字段的默認值用default來設置。

  語法:屬性名 數據類型 default 默認值

舉例:
create table G(
user_id int primry key auto_increment,
user_name varchar(20) default 'zero');

向表中插入空數據:
insert into G values();    //系統會默認第一字段自增為1,第二字段為默認值zero

 

二. 查看表結構的方法

  Mysql  DESCRIBE可以查看那表的基本定義,包括、字段名稱,字段的數據類型,是否為主鍵以及默認值等。。

 

2.1 語法:describe 表名;可以縮寫為desc

舉例:

desc B;

 

2.2  show create table查詢表詳細的結構語句

 

三. 修改表的方法

     額外:修改表默認自增,從1000開始。

     alter table F auto_increment=1000;

 

3.1 修改表名

  語法:alter table 舊表名 rename 新表名;

舉例;
alter table A rename zyA;

 

3.2 修改表的數據類型

  語法:alter table 表名 modify 屬性名數據類型;

舉例;
alter table A modify user_name double;

 

3.3 修改表的字段名稱

  語法: alter table 表名 change 舊屬性名新屬性名新數據類型;

舉例:
alter table A change user_name user_zyname float;

 

 3.4 修改增加字段

  alter table 表名 ADD 屬性名1  數據類型 [完整性約束條件] [FIRST |AFTER 屬性名2]

增加沒有約束條件的字段:
alter table A add phone varchar(20)
增加有完整約束條件的字段:
alter table A add age int(4) not null;

 

  在表的第一個位置增加字段

  默認情況每次增加的字段。都在表的最後。

alter table tt add num int(8) primary key first; 

 執行在那個位置插入新的字段,在phone後面增加

alter table A add address varchar(30) not null after phone;

 

總結:

(1)默認add增加字段是在最後面增加

(2)如果想在表的最前端增加字段用first關鍵字

(3)如果想在某一個字段後面增加的新的字段,使用after關鍵字

 

3.5 刪除一個字段

  alter table 表名 drop 屬性名;

舉例:刪除A表的age字段
alter table A drop age;

 

3.6 更改表的存儲引擎

  alter table 表名 engine=存儲引擎

alter table A engine=MYISAM

 

 3.7 刪除表的外鍵約束

  alter table 表名 drop foreign key 外鍵別名;

 

四.  刪除表的方法

4.1 刪除沒有被關聯的普通表

  drop table 表名;

 

4.2 刪除被其他表關聯的父表

  在數據庫中某些表之間建立了一些關聯關系。一些成為了父表,被其子表關聯,要刪除這些父表,就不是那麼簡單了。

  刪除方法:先刪除所關聯的子表的外鍵,再刪除主表。

  1.先用show create table 子表名 \G;查看子表的外鍵別名
  2.再alter table 子表名 drop foreign key 外鍵別名;刪除外鍵別名
  3.此時可以用drop table 父表名;刪除父表了

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved