数据库之数据库的创建删除属性修改语句大全

数据库之数据库的创建删除属性修改语句大全–创建数据库使用默认的方式 create database 数据库名称 –创建一个完整的数据库,带有主文件和日志文件 create database 数据库名称 –逻辑名称 on primary

--创建数据库使用默认的方式
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 表名

代码100分

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10658.html

(0)
上一篇 2022-12-23
下一篇 2022-12-24

相关推荐

  • redis安装-单节点[通俗易懂]

    redis安装-单节点[通俗易懂]linux安装步骤 yum -y install gcc automake autoconf libtool make 解压redis压缩包 tar -zxvf redis-5.0.7.tar.gz…

    2023-02-21
    127
  • hadoop的概述_如何正确认识自我

    hadoop的概述_如何正确认识自我一.什么是hadoop? 1.Hadoop是Apache旗下的一套开源软件平台,是用来分析和处理大数据的软件平台。 2.Hadoop提供的功能:利用服务器集群,根据用户的自定义业务逻辑, 对海量数据进

    2023-03-07
    128
  • Python中FFT的用法与实现

    Python中FFT的用法与实现快速傅里叶变换(FFT)是一种常用的数学算法,其可用于处理基于频率的信号和图像处理应用。在Python中,FFT是由numpy库提供的,可以通过几行简单的代码实现。本文将介绍如何在Python中使用FFT及其实现方式。

    2024-04-30
    44
  • Python time.ctime函数的实现方法和用法

    Python time.ctime函数的实现方法和用法在Python语言中,time模块提供了日期和时间的处理函数,其中ctime()函数就是其中之一。ctime()函数可以将一个以秒数为参数的时间表示转化为一个可读的字符串。本文将介绍ctime()函数的实现方法和用法,以帮助读者更好地使用Python处理时间。

    2023-12-21
    87
  • xp系统可以安装2008数据库吗_hadoop查看namenode状态

    xp系统可以安装2008数据库吗_hadoop查看namenode状态今天我会进行StoneDB数据库在Debian系统下的安装。 官方文档中没有说明在Debian系统的安装步骤,我来试试能否顺利安装。 准备Debian系统 我是在本地使用虚拟机安装的Debian 11

    2023-06-03
    128
  • CSS align-items属性

    CSS align-items属性CSS中的align-items属性是一个非常重要的属性,它决定了一个容器(父元素)内所有的子元素在交叉轴上的对齐方式。了解align-items的使用方法和属性值可以帮助我们更好地布局页面并提高用户体验。

    2024-05-16
    45
  • Python判断list为空的方法

    Python判断list为空的方法 Python是一种高级编程语言,因其简洁易懂、功能强大而备受欢迎。在Python中,判断列表(list)是否为空是常见的操作之一,可以帮助程序员更好地处理数据。本文将主要介绍Python判断list为空的方法,为读者提供清晰易懂的Python编程指南。

    2024-07-10
    22
  • 事务隔离级别与锁的对应关系_Mysql索引结构

    事务隔离级别与锁的对应关系_Mysql索引结构1.隔离级别 1.1未提交读(read uncommit) RU 这是最低级别的隔离等级: 在这种隔离级别下,可以读取未提交的事务修改/更新到的数据,基本无数据库会选择该隔离级别 事务一 selec…

    2023-03-28
    130

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注