SQL server注釋語句有兩種:
一種是單行注釋,一種是多行注釋。
********************
單行注釋用:--注釋一行內容
多行注釋用:/*
*注釋
*多行內容
*/
創建數據庫:
語句如下:
/*創建數據庫主文件 create database student:新建數據庫邏輯名稱為student filename='d:/stduent_data.mdf':數據庫文件保存路徑和名字。 on PRimary:primary—默認文件組,表示表是建立在主文件組上,可以省略. size=3:數據庫文件初始大小為3MB, maxsize=unlimited:最大長度無限制 filegrouwth=1,自動增長量為1*//*創建數據庫日志文件 name=student_log:日志邏輯名稱為student_log size=1:日志文件初始大小為1MB maxsize=20,日志文件最大為20MB filegrowth=10%,日志自動增長量10%*/ --創建數據庫stuentcreate database student on primary( name=student_data, filename='d:/stduent_data.mdf', size=3, maxsize=unlimited, filegrowth=1)--創建日志文件log on( name=student_log, filename='d:/student_log.ldf', size=1, maxsize=20, filegrowth=10%)
刪除數據庫
由于SQL Server將數據庫的清單存放在master系統數據庫的sysdatabases表中,
所以我們使用master數據庫查看該表是否存在于該數據庫中就可以了:
語句如下:
--刪除數據庫studentuse mastergoif exists(select * from sysdatabases where name='student')drop database studentgo
1.創建表:
CREATE TABLE <表名>(
<列名><數據類型>[列級完整性約束條件],
<列名><數據類型>[列級完整性約束條件],
........ ,
[表級完整性約束條件],
)
建表的同時通常還可以定義與該表有關的完整性約束條件,這些完整性約束條件被存入系統的數據字典中,當用戶操作表中數據時由DBMS自動檢查該操作是否違背這些完整性約束條件。如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級也可以定義在表級。
數據類型 | 含義 |
CHAR(n) | 長度為n的特長字符串 |
VARCHAR(n) | 最大長度為n的變長字符串 |
INT | 長整數(也可以寫作INTEGER) |
SMALLINT | 短整數 |
NUMERIC(p,d) | 定點數,由p位數字(不包括符號、小數點)組成,小數后面有d位數字 |
REAL | 取決于機器精度的浮點數 |
Double Precision | 取決于機器精度的雙精度浮點數 |
FLOAT(n) | 浮點數,精度至少為n為數字 |
DATE | 日期,包含年月日,格式為YYYY-MM-DD |
TIME | 時間,包含一日的時、分、秒,格式為HH:MM:SS |
建stu_info表:
--建表/* PRIMARY KEY 主鍵,將stu_id設為主鍵 identity(1,1),自增列,標識為1,自增長度為1.*/use studentgoif exists (select * from sysobjects where name='stu_info')drop table stu_infocreate table stu_info( stu_id int not null identity(1,1) primary key, name nvarchar(20)not null, age char(2) null, sex char(2) null, birthday date null,);
2.修改stu_info表:
ALTER TABLE <表名>
[ADD <新列名><數據類型>[完整性約束]]
[DROP<完整性約束名>]
[ALTER COLUMN<列名><數據類型>];
其中<表名>是要修改的基本表,ADD子句用于新增加新列和新的完整性約束條件,
DROP子句用于刪除指定的完整性約束條件,
ALTER COLUMN 子句用于修改原有的列定義,包括修改列名和數據類型。
如:
1.向stu_info表中增加“家庭住址”列,數據類型為nvarchar(30)
2.將stu_info表中年齡的數據類型由字符型改為整型。
語句如下:
--修改stu_info表alter table stu_info add address nvarchar(30)alter table stu_info alter column age int
3.刪除stu_info表
DROP TABLE <表名>
--刪除stu_info表drop table stu_info;
4.插入stu_info表:
INSERTINFO<表名>[(<屬性列>)][<屬性列>...]VALUES(<常量1>[,<常量2>]...);
如:插入id:1001,姓名:星云 年齡:18, 性別:男 生日:19920306 地址:河南安陽
--插入stu_info表set identity_insert stu_info onINSERT INTO stu_info(stu_id,name,age,sex,birthday,address) VALUES('1001','星云','18','男','19920306','河南安陽')
5.更新stu_info表:
UPDATE <表名> SET<列名>=<表達式>[,<列名>=<表達式>]...[WHERE <條件>];
如:更新stu_info表,把id為1001的年齡設為23
--更新stu_info表update stu_info set age=23 where stu_id='1001'
6.查詢stu_info表:
SELECT [ALL |DISTINCT]<目標列表達式>[,<目標列表達式]...
FROM <表名或視圖名>[,<表名或視圖名>]...
[WHERE <條件表達式>]
[GROUP BY <列名1>][HAVING <表達式>]]
[ORDER BY <列名2>][ASC|DESC];
查詢stu_info表所有內容:
--查詢stu_info表select *from stu_info;
7.添加SQL登錄賬戶,以及刪除SQL登陸賬戶
添加SQL登錄賬戶:xingyun,密碼為123456
/*--添加SQL登錄賬戶--*/-- 添加賬號:xingyun,密碼為123456exec sp_addlogin 'xingyun', '123456'
添加student數據庫登陸賬戶:xingyun密碼:123456
/*--在student數據庫中添加用戶(只能添加SQL登陸賬戶)--*/use studentgo exec sp_grantdbaccess 'xingyun','123456'
-- 提示:SQL Server 中的dbo用戶是具有在數據庫中執行所有活動權限的用戶,表示數據庫的所有者(owner),一般來說,-- 如果創建了某個數據庫,就是該數據庫的所有者,即dbo用戶,dbo用戶是一個比較特殊的數據庫用戶,無法刪除,-- 且此用戶始終出現在每個數據庫中
刪除SQL登陸賬戶:
--刪除xingyun賬戶名exec sp_droplogin 'xingyun'
給數據庫用戶授權:
grant 權限 [on 表名] to 數據庫用戶
/* --給數據庫用戶授權-- */-- 授權的語法如下-- grant 權限 [on 表名] to 數據庫用戶use studentgo grant select,update,insert on stuMarks to xingyun grant create table to xingyungo
新聞熱點
疑難解答