sql server建庫建表(數據庫和數據表的常用操作)


數據庫和數據表 (開發常用 操作)

一,數據庫的創建

一個SQLServer 是由兩個文件組成的:數據文件(mdf) 和日志文件(ldf),所以我們創建數據庫就是要為其指定數據庫名、數據文件和日志文件。

a)       create database 數據庫名;

例:

create database mydb;

數據文件和日志文件存放在默認文件夾

數據庫文件名為mydb.mdf,日志文件的名字為mydb.ldf

 

b)      創建數據庫的完整語句(自己定義數據文件和日志文件的位置)

create database mydb

on(

name='mydb123',

filename='C:\mydb.mdf',--數據文件保存位置

size=10,--數據庫初始大小 以M 為單位

maxsize=50,--數據庫大小的最大值

filegrowth=5 --當數據庫數據大小超過默認值,每次增長的大小

)

log on(

name='mydb_ldf',

filename='C:\mydb_log.ldf',

size=5,

maxsize=50,

filegrowth=5

);

2)      使用數據庫

use 數據庫名;

3)      刪除數據庫

drop database數據庫名;

 

 

二,數據庫的備份和還原

1.       數據庫的備份:將數據庫文件生成一個本份文件(dat文件)

backup database 數據庫名 to disk=’路徑’;

backup database mydb to disk='D:\mmm.dat' with format;

 

2.       數據庫的還原:根據備份文件恢復數據庫

a)       查看備份文件的信息

restore filelistonly from disk='D:\mmm.dat';

b)      將數據庫文件還原到備份前的位置

restore database mydb from disk='D:\mmm.dat';

c)       將數據庫文件還原到指定位置

restore database mydb from disk='D:\mmm.dat'

with move 'mydb' to 'F:\mydb.mdf',

move 'mydb_log' to 'F:\mydb_log.ldf';

 

 

三,模式(命名空間)

1.       創建模式

create schema 模式名 authorization 登錄名;

例:create schema model01 authorization sa;

2.       刪除模式

a)       級聯刪除:如果模式中有表,先刪除表再刪除模式。

drop schema model01 cascade;

b)      限制刪除:如果模式中有表,則刪除失敗。

drop schema model01 restrict;

四,建表

數據表的創建
語法:

create table <表名>(

      字段名 數據類型 約束,

      …

);

表名和列名的命名規范

■ 必須以字母, _開頭

■ 長度不能超過128字符

■ 不要使用sql server的保留字

■ 只能使用如下字符 A-Z,a-z,0-9,$,#,_等

 

 

表就是存儲數據的單位,表中的一列被稱之為“字段”,表中的一行稱之為“元組”

 

學生(*學號,姓名,性別,年齡,專業)

create table student(

   sno char(13) primary key,

   sname varchar(20) not null,

   ssex char(2),

   sage smallint,

   sdept varchar(30)

);

 

 

課程(*課程號,課程名,學分)

create table course(

   cno char(4),

   cname varchar(40) not null,

   ccredit smallint not null,

   我們可以將字段的定義和主外鍵的定義分開

   primary key (cno)

);

 

 

選課(學號,課程號,分數)

create table sc(

   sno char(13),

   cno char(4),

   grade smallint,

 

   primary key (sno,cno),--定義聯合主鍵

   foreign key (sno) references student(sno),

   constraint FK_sc_cno foreign key (cno) references course(cno)

);

 

創建一個用戶表

create table tb_user(

   userid int identity(1,1),【設置整型字段自動增長】

   username varchar(20) not null,

   userpass varchar(16) not null,

   groupid int

);

創建用戶組表

create table tb_group(

   groupid int primary key identity(1001,1),

   groupname varchar(30) not null

);

五,修改表結構

修改表結構
1.       添加字段

alter table student add birthday datetime;

2.       修改字段

alter table student alter column birthday varchar(12);

3.       刪除字段

alter table student drop column birthday;

4.       設為主鍵

alter table tb_user add constraint pk_user 

primary key(userid);

5.       設置外鍵

alter table tb_user add constraint 

fk_user_groupid foreign key (groupid) references tb_group(groupid);

6.       修改表的字段約束

exec sp_rename 

'tb_group.groupname','gname','column';

7.       修改表的名字

exec sp_rename 'tb_user','user';

6,視圖

創建視圖

create view v_student as select * from student where sage>20 with check option;

修改視圖

將信息系學生視圖is_Student中學號為的學生姓名改為“劉辰”

update is_Student set sname='劉辰' where Sno='95002';

向信息系學生視圖is_Student中插入一個新的學生記錄,其中學號為,姓名為趙新,年齡為歲

insert into  is_Student values('95029', '趙新', 20);

DBMS將其轉換為對基本表的更新:

insert into Student(Sno,Sname,Sage,Sdept) values('95029', '趙新', 20, 'IS'); 

這里系統自動將系名'is'放入values子句中。

刪除視圖

drop view v_student;

七,索引

創建索引:在指定表的指定字段建立起索引,此后再根據這個索引進行查詢操作的時候會大大提高查詢效率.

create index tb_user_name on tb_user(user_name);


create index tb_user_name_pass on tb_user(user_name,user_pass);
 

create index tb_user_name_pass on tb_user(user_name asc,user_pass desc);

刪除索引

drop index tb_user_name_pass on tb_user;


免責聲明!

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



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