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 表名
  • 相关阅读:
    【计算机网络】网络地址转换NAT
    红黑树
    引用和取地址区别
    [网络编程] TCP、UDP区别以及TCP传输原理、拥塞避免、连接建立、连接释放总结
    操作系统大端模式和小端模式
    点乘和叉乘
    HMM模型
    Application_Start
    跨函数使用内存空间
    框架
  • 原文地址:https://www.cnblogs.com/wuya132/p/11965947.html
Copyright © 2011-2022 走看看