特別提醒:所有的新建數據庫,表,行,列都可以通過對象資源管理器操作,下面所講的為查詢操作方法
一、新建數據庫
使用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;
* 號代表選擇所有的內容