SQL基礎篇——如何搭建一個數據庫


特別提醒:所有的新建數據庫,表,行,列都可以通過對象資源管理器操作,下面所講的為查詢操作方法

一、新建數據庫

使用CREATE DATABASE語句建立數據庫:

新建查詢--

 1 CREATE DATABASE pay
 2 ON PRIMARY   
 3 (
 4     NAME= 支出_DATA,
 5     FILENAME='E:\支出_DATA.mdf',    --創建的mdf文件名稱  
 6     SIZE=5MB,            --初始大小5MB
 7     MAXSIZE=10MB,        --最大文件大小10MB
 8     FILEGROWTH = 1MB       --超過5MB之后以1MB的速度增長
 9 )   
10 
11 LOG ON
12 (
13    NAME = 支出_LOG,
14    FILENAME = 'E:\支出_LOG.ldf',
15    SIZE = 2MB,
16    MAXSIZE = 10MB,
17    FILEGROWTH = 1MB
18 )

用這個方法創建數據庫時,這個計算機的studio版本需要重新連接服務器或者直接刷新發現數據庫在數據庫列表中!

對於第2行中的語法,http://www.alixixi.com/program/a/2008020937834.shtml中說得不錯:

在CREATE TABLE的語法中有這樣一句可選語法項目:
[ ON { filegroup | DEFAULT } ] 
用來指定存儲表的文件組。


如果指定 filegroup,則表將存儲在指定的文件組中。數據庫中必須存在該文件組。如果指定 DEFAULT,或者根本未指定 ON 參數,則表存儲在默認文件組中。
(DEFAULT 並不是關鍵字。DEFAULT 是默認文件組的標識符並需對其進行定界,如 ON "DEFAULT"、ON [DEFAULT]。)
ON [PRIMARY]是表示表是建立在主文件組上。PRIMARY表示主文件組。如果沒有指定默認文件組,則主文件組是默認文件組,ON [PRIMARY]也可以省略掉了。

 

二、在數據庫中新建表(順便把列一起建了)

普通的新建:

USE pay; --使用名字為pay的數據庫
CREATE TABLE my_friends       --創建一個名為my_friend的表
(    
    last_name VARCHAR(10),      --在表內新增列  last_name
    first_name VARCHAR(6)          --在表內新增列  first_name 
);                

如果我要創建一個在輸入信息的時候不能忽略的列時,我需要:

CREATE TABLE my_friends       --創建一個名為my_friend的表
(    
    last_name VARCHAR(10) NOT NULL,      --在表內新增列  last_name
    first_name VARCHAR(6) NOT NULL         --在表內新增列  first_name 
);    

這樣的話,在INSERT 的時候就一定得輸入last_name和first_name的信息,否則會報錯!

 

如果我要創建一個列,那一列的默認值不是NULL,而是自己設定的備用值(在給表插入行之后才會出現single哦!而且要把single改成其他的值,按照一般的賦值即可!)

CREATE TABLE my_friends       --創建一個名為my_friend的表
(    
    last_name VARCHAR(10) NOT NULL,      --在表內新增列  last_name
    first_name VARCHAR(6) NOT NULL,        --在表內新增列  first_name 
    status CHAR(30) DEFAULT single
); 

 

一旦建立my_friend的表,再次建立my_myfriend的表時會顯示錯誤,所以表是不會覆蓋的!那么問題來了,如果我要在表中增加新的列應該怎么辦呢?

當然,可以刪除掉已經建好的表,重新建立一個新的表,在新建的時候把你想加入的列寫到()里面就好了,刪除表的語句怎么寫呢?

DROP TABLE my_friends;

請注意:一旦刪除里面的數據就隨風而逝了!人死不能復生啊......

 

三、向表增加行(往表中插入數據)

INSERT INTO my_friend
(last_name,phone)  
VALUES
('cake',366413454);

 

也可以省略所有的列名。這樣做時一定要添上所有的數據值,而且輸入的數據也要和表中的列順序完全相同

INSERT INTO my_friends
VALUES
('cake','zhishi',366413454);

沒有賦值的信息,以NULL的形式存在。

NULL的理解:NULL不等於0,也不等於空字符串(''在兩個單引號內,什么都沒有的值)。也不等與另一個NULL。兩個NULL不可以放在一起比較,因為NULL代表着未定義的值!可以這樣去理解:每個NULL代表着一個未打開的盒子,盒子里面裝着什么東西都不知道,自然就無法比較啦!

 

 

我想看看我輸入的信息,怎么看呢?命令如下:

SELECT * FROM my_friend;

*  號代表選擇所有的內容

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM