zoukankan      html  css  js  c++  java
  • 数据库之数据库的创建删除属性修改语句大全

    --创建数据库使用默认的方式
    create database 数据库名称
    
    --创建一个完整的数据库,带有主文件和日志文件
    create database 数据库名称    --逻辑名称
    on primary(
    name='数据库名称',            --物理名称
    filename='d:名字.mdf',
    size=10mb,
    maxsize=unlimited,
    filegrowth=10%)    --若有多个文件在)后面添加 ,
    log on(
    name='test_log',
    filename='d:名字.ldf',
    size=1mb,
    maxsize=5mb,
    filegrowth=1mb)
    go
    
    --修改数据库
    --添加一个文件组
    alter database test
        add filegroup 文件组名称
        
        
    --向文件组里添加文件
    alter database test
        add file
        (name='test_data2',
        filename='d:170508010430董志洋	est_data2.ndf',
        size=5mb,
        maxsize=100mb,
        filegrowth=5mb),
        (name='text_data3',
        filename='d:170508010430董志洋	ext_data3.ndf',
        size=5mb,
        maxsize=100mb,
        filegrowth=5mb)
        to filegroup testgroup
     go
     
     --添加日志文件
    alter database test
        add log file
        (name='test_log2',
        filename='d:170508010430董志洋	est_log2.ldf',
        size=1mb,
        maxsize=10mb,
        filegrowth=1mb)
        go
    
    --删除一个文件组(只能删除空文件组,要想删除带有文件的文件组,就需要先把文件删光)
    alter database test
        remove filegroup textgroup    
        
    --删除一个文件
    alter database test 
        remove file test_data2
        
    --删除数据库
        drop database 数据库名称  --强调:正在使用的当前数据库不能删除
        
        
    --扩大数据库
    alter database test
        modify file
        (name='test',
        maxsize=unlimited,
        filegrowth=15%)
        go
        
    --缩小数据库
        --收缩数据库,保证该数据库所有的文件都有20%的可用空间
    DBCC shrinkdatabase(test,20)
    
    --收缩数据库数据文件 ,缩小到10mb
    DBCC shrinkfile(test,10)
    
    
    --附加数据库
    create database test
    on
        (filename='d:	est.mdf')    --只需要有主文件就行。位置没有改变
    for attach
    --附加(数据库文件位置改变了)
    create database zhangsan
    on
        (filename='d:1zhangsan_data1.mdf'),
        (filename='d:2zhangsan_data2.ndf'),
        (filename='d:17zhangsan_log.ldf')
        for attach
    
    --分离数据库    
    use master
    go
    execute sp_detach_db 'test','true'  --true为跳过‘更新统计信息’,fslse为显示
    
    
    
    
    
    --创建表,字段和约束
    create table student        --使用约束,让每个学号数字都在九之间
    (sno    char(10) check (sno like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
    primary key,
    sname   varchar(8) not null,    --设置非空
    sex        char(2) default '' check (sex in('','')),        --默认是男,约束sex只能是男或女
    scomegrade smallint check(scomegrade between 0 and 750),    --约束分数在0到750之间
    sbirthday date check(year(getdate())-year(sbirthday) between 15and 35),        --计算入职年龄
    snation bit default 'false',        --设置是否少数民族的默认值为 否
    smemo    text,                --文本
    sphone  char(11) unique,        --设置唯一(不可重复)
    semail  varchar(50) unique)
    --一个表里只有一个主键,可以有多个唯一
    
                -- getdate()是获取当前的日期
                -- year(getdate())是获取当前日期的年
                
    --修改表的结构
        --向学生表里添加家庭住址和邮政编码字段
    alter table student add Stuaddress char(40) null,Zipcode char(6) not null
    
        --修改表中的sdept字段改为 varchar类型 长度为30不为空
    alter table student
        alter column sdept varchar(30) not null  --column 是列
        
        --将stuaddress列删除
    alter table student drop column stuaddress
    
        
    
    
    --创建选课表,具有主键和外键,将学生表和信息表联系到一起
     create table sc
     (sno char(10),
     cno char(10),
     grade tinyint,
     primary key (sno,cno),
     foreign key(sno) references student (sno) --外键
        on update cascade        -- 级联 :修改一个表的信息,和他有关联的表的信息全会修改
        on delete cascade,
     foreign key(cno) references course(cno)
        on update no action    --这个是禁止级联
        on delete no action,
      )
      
     --单个添加主键约束
    alter table 表名 add constraint pk_cno primary key(字段名);  --pk_cno 为主键名
        --删除主键约束
    alter table 表名 drop constraint pk_cno;
    --单个添加unique约束  
    alter table 表名 add constraint u_cname unique(字段名);
    --单个添加check约束   只能是男或女
    alter table student add constraint ck_sex check(sex='' or sex='')
        --删除check约束      若是要修改CHECK约束先要删除现有的约束再新创建
    alter table 表名 drop constraint ck_sex;
    
    --default默认约束    将sdept默认为计算机系
    alter table student add constraint df_dept default '计算机系' for sdept
        --删除default约束
    alter table 表名 drop constraint df_dept;
    --foreign key外键约束    在表score的cno字段上 设置为表course上cno的外键
    alter table score add constraint fk_cno foreign key(cno) references course(cno)
        --删除foreign key 约束
    alter table score drop constraint fk_cno
    
    --禁用约束 禁用全部
    alter table 表名
    nocheck
    constraint all
    --启用约束
    alter table 表名 check constraint ck_sex
    
    
    --使用系统存储过程语句sp_rename,修改表的名称
    EXEC sp_rename '表名','新名字'    
    --使用系统存储过程语句sp_rename,修改表中字段的名称
    EXEC sp_rename '表名.老字段名','新字段名','column'
    
    --删除表
    drop table 表名
  • 相关阅读:
    2020.10.23 19级training 补题报告
    2020.10.17 天梯赛练习 补题报告
    2020.10.16 19级training 补题报告
    2020.10.9 19级training 补题报告
    2020.10.10 天梯赛练习 补题报告
    2020.10.3 天梯赛练习 补题报告
    2020.10.2 19级training 补题报告
    第十届山东省ACM省赛复现补题报告
    VVDI Key Tool Plus Adds VW Passat 2015 Key via OBD
    Xhorse VVDI Prog Software V5.0.3 Adds Many MCUs
  • 原文地址:https://www.cnblogs.com/wuya132/p/11965947.html
Copyright © 2011-2022 走看看