MYSQL學習心得 1 基礎SQL語句

2021-07-24 23:22:48 字數 1847 閱讀 2613

1、預設約束

create

table

emp(

id int

default

12)

2、設定自增列

--

設定自增id從n開始

create

table

empautoinc(

id int

primary

keyauto_increment

) auto_increment

=100 ; --

(設定自增id從100開始)

mysql獲取當前表的自增值

select last_insert_id() 函式   針對任何表

3、檢視表定義

desc emp

4、修改表名

alter

table emp rename emp2

5、修改欄位的資料型別

alter

table emp2 modify id bigint

6、修改欄位名

mysql裡修改欄位名的時候需要加上欄位的資料型別否則會報錯,而change也可以只修改資料型別,實現和modify同樣的效果

方法是將sql語句中的「新欄位名」和「舊欄位名」設定為相同的名稱,只改變「資料型別」

改變資料型別,例如剛才那個例子,將id列改為bigint資料型別

alter

table emp2 change id id bigint

7、新增字段

alter

table emp2 add name nvarchar(200) null

8、刪除字段

alter

table emp2 drop name

9、刪除外來鍵約束

--

刪除外來鍵約束

alter

table emp2 drop

foreign

keyfk_emp_dept

--刪除主鍵約束

alter

table emp2 drop

primary

key pk_emp_dept

10、刪除表

drop

table emp2

如果要同時刪除多個表或者刪除之前要先判斷一下

drop

table

ifexists emp1 ,emp2

10、模板建表

mysql複製表結構/資料的時候,並不會複製主鍵,索引,自增列等任何屬性

--

mysql

create

table xx like

xx; 只複製表結構

create

table xx as

select

*from xx; 複製表結構和表資料

問:如果有一張表,裡面有個字段為id的自增主鍵,當已經向表裡面插入了10條資料之後,刪除了id為8,9,10的資料,再把mysql重啟,

之後再插入一條資料,那麼這條資料的id值應該是多少,是8,還是11? 

答:如果表的型別為myisam,那麼是11。如果表的型別為innodb,則id為8。 

這是因為兩種型別的儲存引擎所儲存的最大id記錄的方式不同,myisam表將最大的id記錄到了資料檔案裡,重啟mysql自增主鍵的最大id值也不會丟失; 

而innodb則是把最大的id值記錄到了記憶體中,所以重啟mysql或者對錶進行了optimize操作後,最大id值將會丟失。

mysql 學習心得

mysql 執行指令碼檔案 mysql c mydata.sql 向上鍵 能輸入以前輸入過的文字 為注釋 show create table article 看 article表的結構 article create table article id int 11 not null auto incr...

oracle學習心得 1

oracle 使用心得 剛開始使用oracle,把今天的學習心得小結一下。oracle 預裝之後會有一些預設的帳戶供使用,具有管理員許可權的可用 system manager 接下來熟悉了一下oracle基本命令 1 建表 舉例 sql create table mytable name chara...

jQuery學習心得(1)

經常見到jquery中的這種寫法 function jquery 許多前端工程師都只是照貓畫虎的這樣,卻不清楚為什麼這樣寫。其實這個寫法是函式定義立即呼叫的寫法之一。在js中,function在定義的時候就可以通過在後面加乙個小括號的形式立即進行呼叫。例如 function function fun...