SQL結構化查詢語——之DML語言

DML:Data Manipulation Language 數據操縱語言,主要用於實現對錶的insert增,delete刪,update改操作
一、insert添加記錄
1. 添加記錄,即添加行。

表內字段修飾符NO NULL被指定後則在添加記錄時該字段必須指定值。沒有默認值的字段必須指定值。
語法:INSERT tbl_name [(col1,...)] VALUES (val1,...), (val21,...)
中文:INSERT 表名 【列名…】VALUES(記錄1),(記錄2),…指定要賦值的字段名,然後用values()按順序賦值,如果爲所有字段賦值可以省略書寫字段名。
賦值注意事項:1、字符串必用引號。 2、不允許空的字段必須要賦值,如果確關沒有值,可以添加標記信息則所有記錄都會被添加標記信息便於後期維護。3、主鍵列值不能重複。4、沒有默認值的字段必須指定值。

2. insert操作實例
方法一:手動指定數據。

  1. INSERT INTO vmlab values(2,'Hong qigong',60,'M',3,4); 爲所有字賦值
  2. INSERT INTO vmlab (id,name,age,classID) values(3,'Huang Yaoshi',56,3);添加一行爲指定字段賦值。
  3. INSERERT INTO vmlab (id,name,age,classID) values(6,'Huang Yaoshi',56,3),(4,'Ou yangfeng',60,4),(5,'Duan zhixing',65,2);添加多行爲指定字段賦值。

方法二:set 直接賦值

INSERT INTO vmlab set id=7,name='Guo Jing',age=23;用set直接爲指定字段賦值。

方法三:從其它表提取數據批量插入

  1. Insert into vmlab (id,name,Age,Gender) select tid,name,age,gender from teachers; 從teachers表中提取指定字段所有行,插入到vmlab表中,此種方法要求:要求兩個表的操作的字段順序對應,字段數據類型相同。
  2. Insert into vmlab (id,name,Age,Gender) select tid,name,age,gender from other.teachers; 從other數據庫的teachers表中提取指定字段所有行,插入到vmlab表中,此種方法要求:要求兩個表的操作的字段順序對應,字段數據類型相同。
  3. 實例:從一個表中查數據並插入另一個表實現方法:
    insert into t1 select * from t2;

二、delete刪除記錄:

  1. 語法:delete from 表名 where 匹配條件(一般爲主鍵字段對應記錄值);
  2. 意思 :刪除來源於某表基於where匹配條件成功匹配的數據。
  3. 注意:delete必須用where限定匹配條件,否則將清空整個表的數據。
  4. 實例:
    a. DELETE FROM vmlab where id >10
    b. DELETE FROM hellodb.vmlab where id >10
  5. 清空表:TRUNCATE TABLE students;

三、update改修記錄

  1. 語法:UPDATE 表名 SET 字段名=“值 ”WHERE 匹配條件(一般爲主鍵字段對應記錄值);
  2. 意思 :更新某表WHERE匹配條件的值 ,賦值來源於SET指定的賦值表達式。
  3. 注意事項:
    UPDATE必須用WHERE限定修改範圍,否則將修改整個表。
  4. 實例:
    UPDATE vmlab SET NAME='Guo Jing' where id=2; 將vmlab表中的第二行記錄name字段值改爲Guo Jing

四、最佳操作

  1. 爲了避免誤操作,強然建議在連接數據庫時使用mysql -U --safe->
  2. updates安全更新選項,或在配置文件/etc/my.cnf中[client]配置項中添加safe-updates強制啓用安全更新選項。啓用安全更新選項後修改要求表必須定義主鍵,再執行update修改記錄時基於主鍵後在列的值進行修改範圍限定。啓用安全更新後如果表沒有主鍵執行update時會出現如下提示
    SQL結構化查詢語——之DML語言
  3. 在定義主鍵後,安全更新模式下,執行UPDATE修改記錄時,where條件必須基於主鍵就行限定,其它字段則不能作爲where條件限定,會出現如下提示:
    SQL結構化查詢語——之DML語言
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章