Mysql學習day4 表的增刪改和引擎

2021-08-21 12:38:17 字數 3364 閱讀 6233

insert into 表 (列,列,列….)values (值,值,值…..)

insert into 表 values (值,值,值…..)

如果表的定義可以,可以在insert操作中省略某些列,但是必須要滿足以下條件中的乙個

1.允許是空值

2.有預設值

inset   low_priority into
4.如果要插入多條記錄,可以

insert

into 表

values (值,值,值.....) ,

values (值,值,值.....) ,

values (值,值,值.....) ,

values (值,值,值.....)

因為mysql用單條insert語句處理多個插入比使用多條insert語句快

5.插入檢索出的資料

而且這樣列其實沒必要都對應,因為mysql不關心select返回的列名,它使用的是列的位置

insert into  表1  (列1,列2,列3.

...)

select (列1,列2,列3.

...)

from 表2

語法

update 表名 

set 列 =值,

set 列 =值 ,

set 列 =值

where ***

2.update 語句中也可以使用子查詢,使得能用select查詢的結果來更新資料

3.如果更新多行,而且在更新這些行的時候有一行或者多行出現乙個現錯誤,為了即使有錯誤也能繼續更新,可以使用ignore 關鍵字

update  ignore 表
1.delete即使刪除了所有表中的資料刪除的也不是表

2.如果想從表中刪除所有資料,不要使用delete,可以使用truncate table語句,它會用更加快的速度完成。事實上,truncate是刪除原來的表並且重新建立了乙個表,而不是逐行刪除。

3.mysql沒有撤undo按鈕,一旦使用不能恢復

1.語法

create

table 表名

( id int

notnull auto_increment primary

key ,

name char(50) not

null ,

abcd char(50) not

null ,

....

)engine =innodb

2.建立時表名必須不存在,否則出錯,如果僅僅想在不存在的時候建立,在表名前面新增if not exists

create

table

ifnot

exists 表名

( id int

notnull auto_increment ,

name char(50) not

null ,

abcd char(50) not

null ,

....

primary

key (id)

)engine =innodb

3.如果不指定預設是null

4.主鍵必須唯一,但是可以由多個列構成乙個主鍵,用逗號隔開,但是所有設定主鍵的都不能為空

create

table

ifnot

exists abc

(a int

notnull ,

b int

notnull,

v int

notnull ,

d int

notnull ,

primary

key(a,b)

)engine =innodb

5.auto_increment 每個表只允許乙個auto_increment 而且它必須被索引,比如讓它成為主鍵

selct last_insert_id()  /*/獲取最後乙個自動增長的值*
6.預設值default

create

table 表名

( id int

notnull auto_increment primary

key ,

name char(50) not

null ,

abcd char(50) not

null ,

my_id int

notnull

default

0 , ....

)engine =innodb

1.mysql內保打包了多種引擎, 建表時很可能時myisam,大多數sql都會預設使用它。但是不是所有的語句都使用它,這就是為什麼engine=語句的重要性。

2.引擎可以混用,但是混用引擎有乙個大缺陷,即外來鍵不能跨引擎。即使用乙個引擎的表不能引用具有使用不同引擎的表的外來鍵。

3.用什麼依賴你需要什麼特性,一般myisam由於效能和特性可能是最受歡迎的,如果需要事務處理,另說

1.語法

//增加乙個列

alter

table 表名 add 列 char(50)

//刪除乙個列

alter

table 表名 drop 列

//alter

table 最常用的是定義外來鍵

alter

table 表1

addconstraint fk_表1_表2

foreign

key (列1) references 表2(列2);

alter

table 表2

addconstraint fk_表2_表1

foreign

key (列2) references 表1(列1);

//對多個表重新命名

rename table a to a1 ,

b to b1 ,

c to c1 ,

...

程式設計學習DAY4

鏈結檔案 link file 分為軟鏈結和硬鏈結,軟鏈結也稱為符號鏈結,相當於windows系統中的快捷方式檔案,建立軟鏈結使用ln s。硬鏈結相當於是檔案的多個副本,但它們的資料內容會保持實時同步,使用ln命令建立。檔名萬用字元 和?匹配0個或者多個任意字元,匹配1個任意字元 重點 對於普通檔案而...

前端學習Day4

一.css樣式表的權重 1.比喻 a.在公司 組長告訴你 本週加班7天。在公司 老闆告訴你 本週放假7天。有衝突b.在家 爺爺告訴你 抓緊娶媳婦 在家 爸爸告訴你 抓緊掙錢 有衝突c.老闆說 後天你休息 組長說 明天你工作 沒有衝突 2.樣式表的權重關係 a.內聯樣式表的權重最大。b.內部和外部樣式...

DAY4學習筆記

流程控制的三種語法 if 用於判斷條件,為了讓計算機可以像人一樣,具有判斷的能力。1 當運用if語法時,如果滿足條件則執行某程式,可以和else連用,即反之則執行另一程式。2 if可以和elif進行多分支使用,多分支時,一旦有某一條件滿足,則不繼續執行其他條件。3 if語句的巢狀,當滿足某一條件時,...