Database 2 SQL語句之DML及約束

2021-10-13 19:13:41 字數 2599 閱讀 3354

〇、前言

dml(data manipulation language):資料操作語言,用來操作表中儲存的資料,但是只能完成增、 刪 、改;

一、增加資料

insert into [表名] (字段列名集合) values (值的集合) ;

多個列名之間『,』分割,多個值之間『,』分割,值的順序和列名順序一一對應。

如:insert into stu (sid, name, sal) values (1, "zhangsan", 45.67) ;

如果給表裡的每個欄位都新增值則中間的列名集合可以省略:

如:insert into stu values (1, "lisi", 88.88) ;

如上,兩條資料具有同樣的sid,這是不符合業務邏輯的,由此我們需要給字段新增約束。約束的作用就是為了保證資料的正確性和完整性。

二、完整性約束

注意:約束都是新增在字段上的

1、非空(not null):插入資料不能為null;(無插入值時和值為null時都不能插入)

如:create table stu (sid int(11), name varchar(20)not null, sal double(5,2));(給name新增非空約束)

2、唯一(unique):插入的資料唯一;

如:create table stu (sid int(11)unique, name varchar(20), sal double(5,2));(給sid新增唯一約束)

3、主鍵(primary key):一條資料在資料庫中的唯一標識,特點:非空且唯一

如:create table stu (sid int(11)primary key, name varchar(20), sal double(5,2)); (給sid新增主鍵約束,要求sid的值非空且唯一)

4、主鍵自增長(primary key auto_increment):如果主鍵的是int,那麼如果給主鍵賦值為null , 會自動根據上一條記錄的值+1。(只能給int、long型別設定)

如:create table stu (sid int(11)primary key auto_increment, name varchar(20), sal double(5,2));(給sid新增主鍵自增長約束)

三、完整性約束之外鍵約束

1、外來鍵:一張表的主鍵作為另一張表的外來鍵,就保證資料的完整性。(注意: 主鍵和外來鍵的資料型別必須一致,名稱可以不一致)  

如:constraint fk_emp_dept foreign key(deptno) references dept(deptno)

2、表和表之間的關係

四、刪除資料

delete from 表名 [where 條件] ;

如: delete from stu where sid = 1 ;  (刪除sid為1的資料)

沒有where條件的話表示刪除所有的資料:

delete from 表名 ; (逐行刪除表中的資料,效率低)

truncate table 表名 ;(直接把錶刪除然後再建立表,效率高)

五、修改資料

update 表名 set 欄位名 = 字段值 , 欄位名 = 字段值 , ... [where 條件] ;(沒有where條件的話表示修改所有資料)

如:update stu set name = 'lisisi', sal = 66.88 where sid = 2 ; (修改sid為2的資料的name和sal的值)

Database 1 SQL語句介紹及其DDL

一 sql的概念 sql 是structured query language 結構化查詢語言 的縮寫。它是對關係型資料庫的操作語言,就是定義了一些操作關係型資料庫的統一規範。而每一種資料庫管理系統之間又存在一些不同之處,這些不同之處稱之為 方言 二 sql的分類 sql語句分為以下四類 ddl d...

習SQL語句之SQL語句大全

語 句 功 能 資料操作 select 從資料庫表中檢索資料行和列 insert 向資料庫表新增新資料行 delete 從資料庫表中刪除資料行 update 更新資料庫表中的資料 資料定義 create table 建立乙個資料庫表 drop table 從資料庫中刪除表 alter table 修...

sql語句之DML語句

1.select 語句 select 語句用於從表中選取資料。結果被儲存在乙個結果表中 稱為結果集 select 列名稱 from 表名稱 或select from 表名稱 例如 eg select lastname,firstname from persons 從persons表中查lastnam...