MYSQL 基礎SQL語句總結

2021-12-30 10:54:31 字數 1664 閱讀 8741

【dml】資料操縱語句(增刪改)

1、插入記錄

insert into tablename (field1, field2, ... , fieldn) values (value1, value2, ... , valuen);

insert into test (uid, ***, name) values (100, 0, 'peter');如例,通過insert into,values關鍵字進行一條記錄的插入。當我們指定字段列表時,除了可空字段、非空但有預設值字段、自增字段外,都需要指定。可空字段、非空但有預設值字段、自增字段等不是必須要指定的字段,沒有指定會初始化為null、預設值、自增的下乙個數字。

插入語句也可以不加欄位名直接進行插入:

insert into test values (101, 1, 'hanmeimei');如例,我們可以省略欄位名列表,但是values後面的字段值列表要按照欄位名的順序進行排列。

在mysql中,insert語句有乙個較好的特性,可以一次插入多條記錄:

insert into tablename (field1, field2, ... , fieldn)

values

(record1_value1, record1_value2, ... , recordn_valuen),

(record2_value1, record2_value2, ... , recordn_valuen),

(recordn_value1, recordn_value2, ... , recordn_valuen);

這個特性可以使得mysql在插入大量記錄時,節省很多網路開銷,大大提高插入效率。

2、更新記錄 update tablename set field1=value1, field2=value2, ... , fieldn=valuen [where condition];update test set name = 'rose', *** = 0 where uid = 100;在mysql中,update還可以同時更新多個表中資料:

update table1, table2, ... , tablen set table1.field1=value1, table2.field2=value2, ... , tablen.fieldn=valuen [where condition];

update emp a, dept b set a.sal = a.sal * b.deptno, b.deptname = a.ename where a.deptno = b.deptno;

-- 可以在表名後面跟上乙個別名方便後面對錶的表示3、刪除記錄

delete from tablename [where condition];

delete from emp where ename = 'dony';在mysql中可以一次刪除多個表的資料:

delete table1, table2, ... , tablen from table1, table2, ... , tablen [where condition];

delete a, b from emp a, dept b where a.deptno = b.deptno;

-- 需要注意的是:如果from關鍵字後面需要用到表別名,那麼delete後面也要用相應的別名。!!! 不管是單錶還是多表,不加where條件將會把表的所有記錄都刪除,所以操作時一定要小心。

MySQL基礎sql語句總結(一)

mysql資料庫基礎知識點總結 一 資料庫 儲存有組織的資料的容器 主鍵 primary key 一一列 或一組列 其值能夠唯一區分表 中每個行。主鍵的最好習慣 除mysql強制實施的規則外,應該堅持的 幾個普遍認可的最好習慣為 不更新主鍵列中的值 不重用主鍵列的值 不在主鍵列中使用可能會更改的值。...

基礎SQL語句總結

一般對於資料庫的操作有增刪改查。增是指在資料庫中增加一行或者多行資料 insert into.刪是指刪除資料庫中一行或多行資料 delect from.改是指在資料庫中修改某些字段 update.set.查指查詢資料庫中的資料。可以是 的也可以是針對某乙個欄位的 一 查詢語句 1 簡單的查詢 列如資...

SQL語句基礎總結

判斷是否存在資料庫 if exists select from sysdatabases where name 資料庫名 exists 根據檢查子查詢是否至少返回一行資料,exists 對應的返回true或false 子查詢實際上並不返回任何資料,只用來檢測 行 的存在 sysdatabases 包...