use master go if exists(select * from sysdatabases where name = 'CourseManageDB') --查詢是否存在這個庫 drop database CourseManageDB --刪除資料庫(不可恢復) go --表示結束 create database CourseManageDB --建立資料庫 on primary ( --資料庫的邏輯檔名(就是系統用的,必須唯一) name='CourseManageDB_data', --資料庫物理檔名(絕對路徑) filename='E:\DB\CourseManageDB_data.mdf', --主資料檔名 --資料庫初始檔案大小(一定要根據你實際生產需求來定) size=10MB, --資料檔案增值量(也要參考檔案本身大小) filegrowth=1MB ), ( name='CourseManageDB_data1', filename='E:\DB\CourseManageDB_data1.ndf', size=10MB, filegrowth=1MB ) --日誌檔案 log on ( name='CourseManageDB_log', filename='E:\DB\CourseManageDB_log.ldf', size=10MB, filegrowth=1MB ) go --指定要操作的資料庫 use CourseManageDB go --建立講師表 if exists(select * from sysobjects where name='Teacher') --where查詢條件 drop table Teacher go create table Teacher ( ID int identity(1000,1) primary key, --key主鍵 identity表示從1000開始每次增加1 loginUser varchar(50) not null, --varchar(50)最多50個,長度不固定 varchar(50) 表示可存放50個英文字元25個漢字 nvarchar(50)可存放50個漢字100個字元 loginPwd varchar(18) check(len(loginPwd)>=6 and len(loginPwd) <=18) not null, --check限制條件 loginPwd的長度要大於6且小於18 userName varchar(20) not null, phoneNumber char(11) not null, --char(11)長度固定11 ,not null 初始為null nowAddress varchar(100) default('地址不祥') --default 設定預設資料 ) go --課程分類表 if exists(select * from sysobjects where name='CourseCategory') drop table CourseCategory go create table CourseCategory ( Category_Id int identity(100,1) primary key, CategoryName varchar(20) not null ) go --課程表 if exists(select * from sysobjects where name = 'Course') drop table Course go create table Course ( CourseID int identity(1,1) primary key, CourseName varchar(20) not null, CourseContent nvarchar(500) not null, --nvarchar可存放500個漢子,1000個字元 ClassHour int not null,--課時 Credit int check(Credit >=1 and Credit <=30) not null, --check限制約束 Category_Id int references CourseCategory(Category_Id) not null, --外來鍵約束 ID int references Teacher(ID)--外來鍵約束 ) go --向表中插入資料 insert into Teacher(loginUser,loginPwd,userName,phoneNumber) values('admin1','123456','李老師','18315000001'), ('admin2','123456','王老師','18315000002'), ('admin4','123456','高老師','18315000004') insert into Teacher(loginUser,loginPwd,userName,phoneNumber,nowAddress) values('admin3','123456','付老師','18315000003','重慶沙坪壩區') --新增課程分類 insert into CourseCategory(CategoryName) values('前端開發'),('java開發'),('.net開發'),('c#開發') --新增課程資訊 insert into Course(CourseName,CourseContent,ClassHour,Credit,Category_Id,ID) values('.net上位機開發','.net基礎課程,net core/sql,asp.net',500,10,102,1002), ('c#開發','c#基礎課程,net core/sql,asp.net',240,10,103,1003), ('web前端開發','javascript/css/html/vue/react',180,10,100,1001), ('java','java基礎語法,java演算法',321,10,101,1002) --刪除id為1000的資料 delete from Teacher where ID =1000 --修改id為1003的資料 update Teacher set userName = 'mast王老師',phoneNumber='18315114070' where ID = 1003 --查詢指定某張表 --select * from Teacher --select * from Course --select * from CourseCategory --關聯查詢 select CourseName,CourseContent,ClassHour,Credit,Course.Category_Id,CategoryName,userName from Course inner join CourseCategory on Course.Category_Id=CourseCategory.Category_Id inner join Teacher on Teacher.ID=Course.ID
執行結果