sqlserver创建数据库流程

--创建数据库
/*
    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:定义该外键列引用某主键表的某主键列.

猜你喜欢

转载自blog.csdn.net/weixin_48135624/article/details/115223222