1、預設約束
create2、設定自增列table
emp(
id int
default
12)
--mysql獲取當前表的自增值設定自增id從n開始
create
table
empautoinc(
id int
primary
keyauto_increment
) auto_increment
=100 ; --
(設定自增id從100開始)
select last_insert_id() 函式 針對任何表
3、檢視表定義
desc emp
4、修改表名
altertable emp rename emp2
5、修改欄位的資料型別
altertable emp2 modify id bigint
6、修改欄位名
mysql裡修改欄位名的時候需要加上欄位的資料型別否則會報錯,而change也可以只修改資料型別,實現和modify同樣的效果
方法是將sql語句中的「新欄位名」和「舊欄位名」設定為相同的名稱,只改變「資料型別」
改變資料型別,例如剛才那個例子,將id列改為bigint資料型別
altertable emp2 change id id bigint
7、新增字段
altertable emp2 add name nvarchar(200) null
8、刪除字段
altertable emp2 drop name
9、刪除外來鍵約束
--10、刪除表刪除外來鍵約束
alter
table emp2 drop
foreign
keyfk_emp_dept
--刪除主鍵約束
alter
table emp2 drop
primary
key pk_emp_dept
droptable emp2
如果要同時刪除多個表或者刪除之前要先判斷一下
droptable
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...