sql標準符合度分為四個等級:
sql-99、sql-92支援四個等級的四個標準
沒有dbms實現全部sql標準(出於安全性等考慮)
sql語言分為
ddl:
——create table, alter table,drop table
——create index,drop index
——create view, drop view
——create trigg,drop trigger
……各種create
dml:
——selec …… from
——insert, delete, update
dcl:
——grant,revoke
sql例子:
createtable
instructor (
id char(5
), name
varchar(20) not
null
, dept_name
varchar(20
), salary numeric(
8,2)
primary
key(id)
);
ps: char 型別會自動補空格,varchar不會
not null 不能位空
sql的ddl不僅能定義一組個關係,還能夠定義每個關係的資訊,包括:
ps:不同dbs的資料型別的宣告有所區別
用creat table命令定義sql關係:
createtable
r( (
a1 d1,
a2 d2,
...an dn,
《完整性約束1>
; ...
《完整性約束k>
));
其中,r是關係名,每個ai是關係r模式中的乙個屬性名,di是屬性ai的域
完整性約束:(少數介紹)
not null,乙個屬性上的not null表示該屬性上不允許空值
primary key(a1,...,an),宣告表示a1……an構成關係的主碼
主碼屬性必須唯一且非空,sql_89中需要特別宣告
foreign key(a1,...,an)creference, 宣告 表示關係中任意元組
在屬性上(a1,...,an)上的取值必須對應關係s中某元組的主碼屬性上的取值
check(p), p 是謂詞條件,檢測p
例:宣告id為instructor的主碼,並確保,salary的值非負
createtable
instructor(
id char(5
),name
varchar(20) not
null
,dept_name
varchar(20
),salary numeric(
8,2),
primary
key(id),
check(salary >=0);
);
drop table:刪除資料庫中關於被去掉關係的所有資訊
drop
table r;
如 drop
table instructor2;
alter table:為已有關係增加屬性
alter
table r add a d;
如 alter
table instructor2 add brithday date;
ps:新新增的值都會被設為null
這個命令還可以用於修改關係中的屬性
如 alter
table instructor modify (id cahr(10));
優化資料庫第三章
第三章變數的使用的是先宣告,在賦值。區域性變數前必須有 作為字首,全域性變數前必須有兩個 作為字首。變數的賦值有兩種方式 set語句和select語句。輸出結果也有兩種方式 print語句和select語句。資料型別轉換的兩個函式 cast 和convert 控制流語句提供了條件操作所需的順序和邏輯...
第三章 資料庫設計
1.資料庫的生命週期可分為兩個階段 1 資料庫分析與設計階段 2 資料庫實現與操作階段 2.資料庫設計的內容 1 資料庫結構設計 2 資料庫行為設計 3.資料庫設計方法 1 直觀設計法 2 規範設計法 規範設計法主要有紐奧良設計法,基於e r圖的設計方法,基於第三正規化的設計方法 3 計算機輔助設計...
SQL資料庫第三章
1.新增表記錄 1 1.dml語句 insert插入,update更新,delete刪除,select查詢 1 2.在資料表中一次新增一行資料 語法 insert into 資料表名 需要新增資料的列 values 資料 英文單引號 在資料表中一次多行新增 語法 insert into 資料表名 需...