03數(shù)據(jù)的操作
01插入數(shù)據(jù)
語(yǔ)法:
insert into `表名` (字段名1,字段名2) values (值1,值2) , (值1,值2);
注意點(diǎn):
- 如果你插入的值、備注有中文疾牲,那么中文一定要用單引號(hào)引起來(lái)植捎,數(shù)據(jù)庫(kù)是不允許使用雙引號(hào)的。換句話說(shuō)數(shù)據(jù)庫(kù)中的字符串要用單引號(hào)引起來(lái)阳柔。
- 插入數(shù)據(jù)既可以只插入一條數(shù)據(jù)焰枢,也可以同時(shí)插入多條數(shù)據(jù)。
- 插入數(shù)據(jù)舌剂,如果你寫字段名了济锄。
insert
語(yǔ)句中的字段名可以按照數(shù)據(jù)庫(kù)默認(rèn)的字段名順序(即表頭的默認(rèn)順序)寫,也可以不按照霍转。但是值的順序必須按照insert
語(yǔ)句中的字段名順序荐绝。 - 插入數(shù)據(jù)時(shí),你可以插入所有的字段值避消,你也可以某些字段不插入值低滩,前提是這些字段可以為空值召夹。
- 對(duì)于自增屬性的字段,你可以插入具體值恕沫,也可以插入null或不插入监憎,讓其自增。
- 插入數(shù)據(jù)婶溯,如果你所有字段都插入值鲸阔,并且是按照數(shù)據(jù)庫(kù)默認(rèn)的字段順序(即表頭的默認(rèn)順序)插入的。
insert
語(yǔ)句中的第一個(gè)括號(hào)可以省略不寫迄委,即(字段名1,字段名2)
可以不寫褐筛。如果某個(gè)值是自增的,你不能省略叙身,必須寫上null或者具體值死讹,目的是占位。 - 對(duì)于有默認(rèn)值的曲梗,你若想讓其自動(dòng)填默認(rèn)值,需要在值上寫
default
妓忍。
第六條舉例:
insert into `表名` values (null , 值2 , ...) ;
02更新(改)數(shù)據(jù)
語(yǔ)法:
update `表名` ste `字段名1` = 值1 , 字段名2 = 值2 [wherer條件];
說(shuō)明:where條件決定你修改的數(shù)據(jù)虏两,符合where條件就修改,如果不加where條件就都修改世剖,后果很嚴(yán)重定罢,所以一定要注意。
例如:修改id為1的數(shù)據(jù)name為Tom旁瘫。
update `student` ste `name` = Tom where id = 1;
03刪除數(shù)據(jù)
語(yǔ)法:
delete from `表名` [where條件];
04清空數(shù)據(jù)
語(yǔ)法:
truncate table `表名`祖凫;
truncate table 表名
與delete from 表名
表面上都把所有數(shù)據(jù)刪除了,但有本質(zhì)的區(qū)別:
前者相當(dāng)于銷毀表酬凳,并且創(chuàng)建一個(gè)沒有數(shù)據(jù)的新表惠况,插入數(shù)據(jù)從id=1開始,效率很高宁仔;后者相當(dāng)于逐條便利delete刪除稠屠,再插入數(shù)據(jù)id從上次刪除的最后一個(gè)最大id+1,效率很低翎苫。
05復(fù)制表
語(yǔ)法一:
create table `新表` selct `字段` from `舊表`;
語(yǔ)法二:
create table `新表` like `舊表`;
區(qū)別:
語(yǔ)法一復(fù)制表和表中數(shù)據(jù)权埠,但是不復(fù)制主鍵,復(fù)制后新表沒有主鍵煎谍。
語(yǔ)法二只復(fù)制表的框架攘蔽,復(fù)制主鍵,但不復(fù)制表中數(shù)據(jù)呐粘。