006 mySQL資料庫中表內資料的增 改 刪操作

2021-09-27 06:43:15 字數 4459 閱讀 1831

注意:

1、不要在sql的test資料庫下建立**,否則會出各種錯誤,比如輸入中文報錯,哪怕是改了字符集。

2、對於name這樣可能和sql關鍵字重名的成員名稱,要加上轉義符號··,這個不是單引號,是鍵盤左上角波浪鍵。

3、對於字元用的就是單引號。

簡介:

1、新增資料:

* 語法:

* insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);

*  注意:

1.列名和值要一一對應。

2.如果表名後,不定義列名,則預設給所有列新增值。

insert into 表名 values(值1,值2,...值n);

3.除了數字型別,其它型別需要使用引號(單雙都可以)引起來。

2.刪除資料

* 語法:delete from 表名 [where 條件]

* 注意:

1、如果不加條件,則刪除錶用所有資料。

2、如果要刪除所有資料,方法有:

* delete from 表名; ---不推薦使用。用多少條記錄就會執行多少次刪除操作。

* truncate table 表名; --- 推薦使用,效率高,先刪除表,然後在建立一張一樣的空表。

3、修改資料

* 語法 :

* update 表名 set 列名1= 值1, 列名2=值2,...列名n=值n;

詳說:

按照如下指令碼建立兩個表單:

create table students(id int, `name` varchar(8), age_id int);`students`

insert into students(id, `name`,age_id)

value (1, '林一',2),(2,'王二',1),(3,'張三',3),(4,'李四',8),(5,'王五',1),(6,'趙六',9),(7,'劉七',10);

create table ages(id int, age int);

insert into ages(id, age)

value(1,12),(2,22),(3,32),(4,42),(5,52),(6,62);

建立後的表單如下:

語法一:

insert into 表名(欄位1,欄位2,...) value(欄位1的值,欄位2的值,...);

注意:1、insert一條記錄時,要保持插入資料型別和資料表定義的型別一致,比如定義為int型別的字段不能插入varchar型別資料。且「欄位n"的位置順序要和」欄位n的值「的位置順序一一對應。

2、表結構設計中定義為不可為空胡欄位必須插入記錄值,如果定義為null的字段可以不寫入資料。

3、"表名"後面的字段列表可以省略,如果省略,則value後面就必須完全按照表單設計順序一一列出值,不建議這麼使用。

#在students表單中插入乙個名為何八且age序號為3的資料記錄

insert into students(id, `name`, age_id) value(8, '王八', 3);
結果:

語法二:

insert into 表名

set 欄位名1=值,欄位名2=值,...;

#增加名叫」婁九「的資料到students中去

insert into students

set id = 9, `name` = '婁九', age_id = 3;

輸出結果:

以上兩種語法比較(一般用語法一較多):

1、語法就可以一次性插入多條記錄值,語法二不支援。

2、語法一可以支援子查詢,語法二不支援。

1、修改單錶記錄

語法:update 表名 set 欄位名1=新的值,欄位2=新的值,...where條件;

#將students中名叫"婁九"的age_id修改為4

update students set age_id=4 where `name`='婁九';
輸出結果:

2、修改多表記錄

語法:92版本

update 表1 別名, 表2 別名

set 欄位1=值

where 連線條件 and 篩選條件;

語法:99版本

update 表1 別名

【連線型別】join 表2 別名

on 連線條件

set 欄位1=值...

where 篩選條件;

#把students中張三的年紀修改為22

update students s

inner join ages a

on s.`age_id` = a.`id`

set a.`age` = 22

where s.`name` = '張三';

輸出結果:

#修改沒有年齡記錄的同學的對應年齡的編號都為3

1、單錶刪除操作語法:delete from 表名 where 要刪除的記錄篩選條件;

#刪除students中名為婁九的資訊

delete from students where `name`='婁九';
輸出結果:

2、多表刪除操作

92版本語法:

delete 別名1, 別名2

from 表1 別名1, 表2 別名2

where 連線條件  and 篩選條件

99版本語法:

delete 別名1,別名2

from 表1 別名1

【連線型別】join 表2 別名2

on 連線條件

where 篩選條件;

#刪除名叫」何七「的人的年齡資訊

delete a from students s

inner join ages a

on s.`age_id` = a.`id`

where s.`name` = '王八';

輸出結果:

1、truncate table表名;

2、delete from 表名;

上述兩個的區別:

1、delete可以加where條件,但是truncate不能。

2、truncate刪除效率會高一些

3、加入刪除表中有自增長字段,如果使用delete刪除,再插入資料,自增長從斷點值開始,用truncate則是從1開始。

4、truncate刪除沒有返回值,而用delete刪除有返回值。

5、truncate刪除不能回滾,而用delete刪除可以回滾。

注意:一般不會進行整表刪除操作。

查詢MySQL資料庫中表結構

什麼是表結構?表結構就是定義資料表檔名,確定資料表包含哪些字段,各字段的欄位名 字段型別 及寬度,並將這些資料輸入到計算機當中。查詢方法 以表 employees 為例子 1.describe desc 表名 desc 是 describe的縮寫 describe用於檢視特定表的詳細設計資訊 des...

mysql資料庫中表和資料的基本操作

資料庫的結構為 資料庫 表 資料 資料庫建立完成後不能直接新增資料,需先建表,在表裡寫資料 表的建立 create table if not exists 表名 字段列表,約束或索引列表 字段列表,約束或索引列表 索引約束 表選項列表 刪除 drop table if exists 表名 修改表 a...

MySQL資料庫中表的備份與還原

對資料庫jxgl中的某乙個表進行備份與恢復 use jxgl 鎖定資料表 lock tables student read 匯出資料到對應資料夾下 select into outfile c programdata mysql mysql server 5.7 uploads student.bak...