數據庫知識點雜記

數據庫的類型:純文本數據庫和關係型數據庫。

純文本數據庫:純文本數據庫是隻用空格符、製表符和換行符來分割信息的文本文件。適用於小型應用,對於大中型應用來說它存在諸多限制:①只能順序訪問,不能隨機訪問。②查找數據和數據關係或多用戶同時訪問進行寫操作時非常困難。

關係數據庫:    由於純文本數據庫存在諸多侷限,所以人們在開始研究數據模型,設計各種類型的使用方便的數據庫。在數據庫的發展史上,最具有影響的數據庫模型有:

層次模型、網狀模型和關係模型。

其中關係模型是目前應用最廣泛和最有發展前途的一種數據庫模型,其數據結構簡單,當前主流的數據庫系統幾乎都採用關係模型。



SQL:SQL是Structured Query Language(結構化查詢語言)的縮寫。SQL是專爲數據庫而建立的操作命令集,是一種功能齊全的數據庫語言。在使用它時,只需要發出“做什麼”的命令,“怎麼做”是不用使用者考慮的。

數據庫中幾種語言:DDL、DML、DCL

DDL:數據庫定義語言,定義數據庫中的數據對象

DML:數據操縱語言,操縱數據實現對數據庫的基本操作(增刪改查)

DCL:數據庫控制語言


DDL:數據庫定義語言,比如創建、修改或刪除數據庫對象,包括如下SQL語句:

create table:創建數據庫表

alter table:更改表結構、添加、刪除、修改列長度

drop table:刪除表

create index:在表上建立索引

drop index:刪除索引


DML:數據庫操縱語言,包括如下SQL語句:

insert:添加數據到數據庫中

update:修改數據庫中的數據

delete:刪除數據庫中的數據

select:選擇(查詢)數據 


DCL:數據庫控制語言,包括如下SQL語句:

grant:授予訪問權限

revoke:撤銷訪問權限

commit:提交事務處理

rollback:事務處理回滾

等等


建庫:

創建數據庫:create database dbname

查看數據庫:show databases

顯示數據庫創建語句:show create database dbname

數據庫刪除語句:drop database dbname



建表:

表名和列名命名規則:

必須以字母開頭,不要使用漢字

必須在1-30個字符之間

必須只能包含A-Z,a-z,0-9,_,$和#

必須不能和用戶定義的其他對象重名


一、定義基本表
CREATE TABLE <表名>
      (<列名> <數據類型>[ <列級完整性約束條件> ]
      [,<列名> <數據類型>[ <列級完整性約束條件>] ] …
      [,<表級完整性約束條件> ] );
   如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級也可以定義在表級。 


CREATE  TABLE  stuInfo    /*-創建學員信息表-*/
(
 stuName  VARCHAR(20)  NOT  NULL ,  --姓名,非空(必填)
 stuNo   CHAR(6)  NOT  NULL UNIQUE,   --學號,非空(必填)
 stuAge  INT  NOT  NULL,  --年齡,INT類型默認爲4個字節
 stuID  NUMERIC(18,0),     --身份證號         NUMERIC (18,0)代表18位數字,小數位數爲0
 stuSeat   SMALLINT  IDENTITY (1,1),   --座位號,自動編號  IDENTITY(起始值,遞增量)
 stuAddress   TEXT   --住址,允許爲空,即可選輸入


 建立“學生”表Student,學號是主碼,姓名取值唯一。
     
    CREATE TABLE Student          
     (Sno   CHAR(9) PRIMARY KEY, /* 列級完整性約束條件*/                  
            Sname  CHAR(20) UNIQUE,     /* Sname取唯一值*/
            Ssex    CHAR(2) ,
            Sage   SMALLINT,
            Sdept  CHAR(20),
             Constraint ck_Age CHECK(Sage>0)
           ); 


create table traninfo(
countid int,
tdate datetime,
tamount float,
primary key(countid,tdate),
foreign key(countid) references countinfo(countid)
)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章