--创建数据库
/*
create database 数据库名称
on primary --主数据文件夹
(
name='逻辑名称',
filename='物理路径',
size='初始大小',
maxsize='最大大小',
filegrowth=文件增量
)
log on --日志文件
(
name='逻辑名称',
filename='物理路径',
size='初始大小',
maxsize='最大大小',
filegrowth=文件增量
)
*/
create database mydb
on primary
(
name='mydb',
filename='F:\mydb.mdf',
size=3MB,
maxsize=unlimited,
filegrowth=1MB
)
log on
(
name='mydb_log',
filename='F:\mydb_log.ldf',
size=1MB,
maxsize=10MB,
filegrowth=10%
)
--选择数据库: use 数据库名称
use mydb
/*
创建表:
create table 表名
(
列名 数据类型 [约束]
....
)
*/
--学生表
create table student
(
sid int primary key identity(1,1),--主键,标示列自增
sname nvarchar(20),
sex nvarchar(1),
birth datetime
)
--课程表
create table course
(
cid int primary key identity(1,1),
cname nvarchar(50)
)
--成绩表
create table score
(
scoreId int primary key identity(1,1),
sid int foreign key references student(sid),--foreign key 外键(学生编号),引用学生表的主键
cid int foreign key references course(cid),
scoreNum int
)
--查询所有:select * from 表名
select * from student
--插入数据: insert into 表名(列名1,列名2...) values(值1,值2...)注意:标识列自增的列不能显示插入值
--插入学生
insert into student(sname,sex,birth) values('张三','男','1991-1-1')
insert into student(sname,sex,birth) values('张三2','女','1991-1-1')
insert into student(sname,sex,birth) values('张三3','男','1991-1-1')
insert into student(sname,sex,birth) values('张三4','女','1991-1-1')
insert into student(sname,sex,birth) values('张三5','男','1991-1-1')
--插入课程
insert into course(cname) values('C语言')
insert into course(cname) values('PS')
insert into course(cname) values('SQLServer')
select * from course
--插入成绩
insert into score(sid,cid,scoreNum) values(1,1,80)
insert into score(sid,cid,scoreNum) values(2,1,90)
insert into score(sid,cid,scoreNum) values(3,2,85)
select * from student
select * from course
select * from score
--修改:update 表名 set 列名1=值1,列名2=值2.. [where 条件]
--将学生编号为1的生日修改为"1990-1-1"
update student set birth='1990-1-1' where sid=1
--将学生编号为2的"C语言"修改75
update score set scoreNum=75 where sid=2 and cid=1
--删除:delete from 表名[where 条件]
--删除学生编号大于3
delete from student where sid>3
create table:创建表的语法,其后跟表的名称,注意表名称不要和关键字冲突.
primary key:定义该字段为主键字段
identity:定义为标识列,初始值是1,递增值是1.
null/not null:定义该列是否可以为null,如果不写,则默认是null.
check(len(snam)>1):定义约束,规定snam的值的长度必须大于1个字符.
default:定义默认值,其后给出默认的值.
unique:定义唯一约束,规定该列的值不可发生重复.
foreign key:定义该列为外键
references:定义该外键列引用某主键表的某主键列.