mysql 資料表的基本操作

2021-08-08 11:54:44 字數 3047 閱讀 4852

1.建立表: 

create database_name;  

use database_name; 

create tabletable_name(

id   int(11),

name   varchar(25),

salary   float

2.show tables; 顯示當前資料庫的表

3.單字段主鍵,設定主鍵有兩種情況。 主鍵唯一且不能為空

a.在字段後加 primary key

create table table_name2(

id  int(11)  primary key,

name      varchar(25),

salary float              );

b. 在定義完所有列之後指定主鍵    後不在加 逗號

create table table_name(

id   int(11),

name      varchar(25),

salary float ,

primary key(id)

4.多欄位聯合做主鍵

primary key(欄位1,欄位2)

5.外來鍵約束 ,乙個表的外來鍵可以為空,或為等於另乙個表主鍵的某個值。外來鍵可以是一列或多列。乙個表可以有多個外來鍵。

外來鍵隊應的是參照性完整性,外來鍵可以不是本表的主鍵,但對應另外乙個表的主鍵。外來鍵的作用是保證引用的完整性,定義外來鍵後,不允許刪除在另乙個表中具有關聯的行。

[constraint  《外鍵名》]  foreign key 欄位名1 [ , 欄位名2 , …] references  《主表名》 主鍵列1  [ , 主鍵列2,….]

「外鍵名」,乙個表不能有相同的外鍵名,「主鍵列」,主表中的主鍵列或者列組合

6.非空約束:指字段的值不能為空。

語法規則: 欄位名    資料型別  not  null

7.使用唯一性約束

語法規則:a 在列後指定唯一性約束。   欄位名  資料型別 unique

b在定義完所有列後指定唯一約束    [constraint 《約束名》] unique(《欄位名》)   

8.使用預設約束

語法規則: 欄位名   資料型別  default   預設值

9.設定表的屬性值自動增加

a.預設的,在mysql中auto_increment 的初始值為1,每新增一條記錄,字段值自動加一。 

b.乙個表只能有乙個字段使用auto_increment約束,且該字段必須為主鍵的一部份。

c.auto_increment約束的字段可以是任何整數型別(tinyint,smallint,int ,bigint)

語法規則:欄位名  資料型別  auto_increment

10.插入記錄

insert  into  表名 (列名1,列名2,…..) values( 『 列1值 』,』列2值』),(),(),…;

或 insert into 表名 values (『欄位1』,』欄位2』),(),()…;

varchar 用單引號

insert 不是sql的標準寫法,其他資料庫可能不支援

11.檢視所有記錄     select * from 表名;

12.檢視表結構      describe  表名;可簡寫為 desc 表名;

null:表示該列是否可以儲存null

key: 表示該列是否編制索引。

a.   pri表示該列是表主鍵的一部份;

b.   uni表示該列是unique索引的一部份;

c.   mul表示在列中某個給定值允許出現多次

default:表示該列是否有預設值,如果有的話值是多少

extra:表示可以獲取的與給定列有關的附加資訊,列如auto_increment等

13.檢視表詳細結構 show create table 表名;  

show create table \g結果更直觀

修改資料表 : alter table 語句

14.alter table 舊表名 rename [to] 新錶名        修改表名

15.alter table 表名 modify 欄位名  資料型別 ;       修改欄位的資料型別

16.alter table 表名 change  舊欄位名  新欄位名  新資料型別。

新資料型別不能為空,如果不想換,可以和原來一樣。     修改欄位名

change 也可以只修改資料型別,實現和modify同樣的效果,方法是將sql中的「新欄位名」和「舊欄位名」設定為相同的名稱,只改變「資料型別」。

17.新增新字段             alter  table 表名 add 新欄位名  資料型別  [約束條件] [first | after 已存在的欄位名]

18. 刪除字段     alter table 表名 drop  欄位名    

19.修改欄位的排列位置    alter table 表名 modify 《欄位1> 《資料型別》 first | after 《欄位2>                ?資料型別可以變!1

20.   更改表的儲存引擎   alter table 《表名》 engine = 《更改後的儲存引擎名》

21.刪除表的外來鍵約束    alter table 《表名》 drop foreign key 《外來鍵約束名》

22.刪除沒有被關聯的表    drop  table [if exists]表1,表2,…表n

23.刪除被其他表關聯的主表。如果直接刪除父表,結果會顯示失敗。原因是直接刪除,將破壞表的參照完整性。如果必須要刪除,可以先刪除子表,再刪除父表。或將關聯的表的外來鍵約束條件取消,然後就可以刪除父表。

alter table 子表 drop foreign key 外鍵名;

drop talbe 父表;

24.外來鍵約束不能跨引擎使用,所以儲存引擎的選擇也不完全是隨意的。

25.在mysql中auto_increment 的初始值是1,每增加一條記錄,字段值自動加1。設定自增屬性時,可以指定第一條記錄的自增字段的值,這樣記錄將從新插入的記錄的自增字段值開始遞增。

mysql資料表的基本操作

一 先建立乙個資料庫,然後使用資料庫 資料庫舉例命名為student 1.建立資料庫 create database student 2.使用資料庫 use student 二 建立乙個儲存資訊的資料表 命名為test create table test name varchar 25 age in...

mysql資料表的基本操作

理解資料庫表 建立 修改 刪除約束 1.建立資料庫 create database user 2.建立表 create table emp id db int 10 primary key auto increment,name db varchar 20 db varchar 5 3.檢視資料庫,...

mysql 資料表的基本操作

create table table name column name int not null auto increment primary key,column name varchar 20 unique,desc table name select create table table na...