sql server建库建表(数据库和数据表的常用操作)
数据库和数据表 (开发常用 操作)
一,数据库的创建
一个SQLServer 是由两个文件组成的:数据文件(mdf) 和日志文件(ldf),所以我们创建数据库就是要为其指定数据库名、数据文件和日志文件。
a) create database 数据库名;
例:
create database mydb;
数据文件和日志文件存放在默认文件夹
数据库文件名为mydb.mdf,日志文件的名字为mydb.ldf
b) 创建数据库的完整语句(自己定义数据文件和日志文件的位置)
create database mydb on( name='mydb123', filename='C:\mydb.mdf',--数据文件保存位置 size=,--数据库初始大小 以M 为单位 maxsize=,--数据库大小的最大值 filegrowth= --当数据库数据大小超过默认值,每次增长的大小 ) log on( name='mydb_ldf', filename='C:\mydb_log.ldf', size=, maxsize=, filegrowth= );
2) 使用数据库
use 数据库名;
3) 删除数据库
drop database数据库名;
二,数据库的备份和还原
1. 数据库的备份:将数据库文件生成一个本份文件(dat文件)
backup database 数据库名 to disk=’路径’;
backup database mydb to disk='D:\mmm.dat' with format;
2. 数据库的还原:根据备份文件恢复数据库
a) 查看备份文件的信息
restore filelistonly from disk='D:\mmm.dat';
b) 将数据库文件还原到备份前的位置
restore database mydb from disk='D:\mmm.dat';
c) 将数据库文件还原到指定位置
restore database mydb from disk='D:\mmm.dat' with move 'mydb' to 'F:\mydb.mdf', move 'mydb_log' to 'F:\mydb_log.ldf';
三,模式(命名空间)
1. 创建模式
create schema 模式名 authorization 登录名;
例:create schema model01 authorization sa;
2. 删除模式
a) 级联删除:如果模式中有表,先删除表再删除模式。
drop schema model01 cascade;
b) 限制删除:如果模式中有表,则删除失败。
drop schema model01 restrict;
四,建表
数据表的创建
语法: create table <表名>( 字段名 数据类型 约束, … ); 表名和列名的命名规范 ■ 必须以字母, _开头 ■ 长度不能超过128字符 ■ 不要使用sql server的保留字 ■ 只能使用如下字符 A-Z,a-z,-,$,#,_等 表就是存储数据的单位,表中的一列被称之为“字段”,表中的一行称之为“元组” 学生(*学号,姓名,性别,年龄,专业) create table student( sno char() primary key, sname varchar() not null, ssex char(), sage smallint, sdept varchar() ); 课程(*课程号,课程名,学分) create table course( cno char(), cname varchar() not null, ccredit smallint not null, 我们可以将字段的定义和主外键的定义分开 primary key (cno) ); 选课(学号,课程号,分数) create table sc( sno char(), cno char(), grade smallint, primary key (sno,cno),--定义联合主键 foreign key (sno) references student(sno), constraint FK_sc_cno foreign key (cno) references course(cno) ); 创建一个用户表 create table tb_user( userid int identity(,),【设置整型字段自动增长】 username varchar() not null, userpass varchar() not null, groupid int ); 创建用户组表 create table tb_group( groupid int primary key identity(,), groupname varchar() not null );
五,修改表结构
修改表结构
. 添加字段 alter table student add birthday datetime; . 修改字段 alter table student alter column birthday varchar(); . 删除字段 alter table student drop column birthday; . 设为主键 alter table tb_user add constraint pk_user primary key(userid); . 设置外键 alter table tb_user add constraint fk_user_groupid foreign key (groupid) references tb_group(groupid); . 修改表的字段约束 exec sp_rename 'tb_group.groupname','gname','column'; . 修改表的名字 exec sp_rename 'tb_user','user';
6,视图
创建视图
create view v_student as select * from student where sage> with check option;
修改视图
将信息系学生视图is_Student中学号为的学生姓名改为“刘辰”
update is_Student set sname='刘辰' where Sno='';
向信息系学生视图is_Student中插入一个新的学生记录,其中学号为,姓名为赵新,年龄为岁
insert into is_Student values('', '赵新', );
DBMS将其转换为对基本表的更新:
insert into Student(Sno,Sname,Sage,Sdept) values('', '赵新', , 'IS');
这里系统自动将系名'is'放入values子句中。
删除视图
drop view v_student;
七,索引
创建索引:在指定表的指定字段建立起索引,此后再根据这个索引进行查询操作的时候会大大提高查询效率.
create index tb_user_name on tb_user(user_name); create index tb_user_name_pass on tb_user(user_name,user_pass); create index tb_user_name_pass on tb_user(user_name asc,user_pass desc);
删除索引
drop index tb_user_name_pass on tb_user;
sql server建库建表(数据库和数据表的常用操作)的更多相关文章
- SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型
原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测 ...
- sql server 主从库设计和数据库镜像设计
sql server 主从设计可以通过sql server 的发布订阅实现,在大数据量的时候不要用快照发布,要使用事务发布的方式实现. 主从的设计后,要将数据库的读写分离,实现数据库效率的提示 而数据 ...
- sql server 2008 把远程的数据库的数据转移到本地数据数据库里
如题:把远程的数据库对应表里的数据转移到本地数据数据库的对应表里 比如把192.168.188.160的DB的A表的数据转移到本地的DB的A表里 第一步:连接远程服务器前准备 exec sp_addl ...
- SQL Server建库-建表-建约束
----------------------------------------SQL Server建库-建表-建约束创建School数据库------------------------------ ...
- 【ITOO 2】.NET 动态建库建表:使用SQL字符串拼接方式
导读:在最近接手的项目(高效云平台)中,有一个需求是要当企业用户注册时,给其动态的新建一个库和表.刚开始接手的时候,是一点头绪都没有,然后查了一些资料,也问了问上一版本的师哥师姐,终于有了点头绪.目前 ...
- C# 利用*.SQL文件自动建库建表等的类
/// <summary> /// 自动建库建表 /// </summary> public class OperationSqlFile { SqlConnection sq ...
- MySQL建库建表
一直使用SQL SERVER 数据库:最近项目使用MY SQL感觉还是有一点不适应.不过熟悉之后就会好很多. MY SQL 安装之后会有一个管理工具MySQL Workbench 感觉不太好用,数据库 ...
- 使用T-sql建库建表建约束
为什么要使用sql语句建库建表? 现在假设这样一个场景,公司的项目经过测试没问题后需要在客户的实际环境中进行演示,那就需要对数据进行移植,现在问题来了:客户的数据库版本和公司开发阶段使用的数据库不兼容 ...
- 【ITOO 3】.NET 动态建库建表:实用EF框架提供的codeFirst实现动态建库
导读:在上篇博客中,介绍了使用SQL字符拼接的方式,实现动态建库建表的方法.这样做虽然也能够实现效果,但是,太麻烦,而且,如果改动表结构,字段的话,会对代码修改很多.但是EF给我们提供了一种代码先行的 ...
随机推荐
- 设计模式C++描述----01.单例(Singleton)模式
一.概念 单例模式:其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享. class CSingleton { //公有的静态方法,来获取该实例 public: s ...
- VMware Workstation 12 一些可用的序列号
任选一个即可: VF5XA-FNDDJ-085GZ-4NXZ9-N20E6 UC5MR-8NE16-H81WY-R7QGV-QG2D8 ZG1WH-ATY96-H80QP-X7PEX-Y30V4 AA ...
- 关于virtualbox虚拟电脑控制台严重错误解决方法。。。
今天的我已经泪崩,忙了一天,临近下班的时候,突然发现虚拟机关了,再打开时,提示错误!!! 然后在网上查方法解决完的时候,再打开一看,完了,虚拟机里面的内容全没了...现将解决方法记录如下: 1.打开, ...
- 蓝牙耳机没声音,用mac平台下的safari时
买了个蓝牙耳机,发现用其他本地播放器或者chrome的时候有声音, 但是用safari的时候没有声音,最后发现是flash的问题. 只要清除浏览数据后刷新就有声音了
- [考试反思]1024csp-s模拟测试86:消耗
%%%两个没素质的和一个萌两小时AK 最近貌似总是可以比较快速的拿下T1,然后T2打到考试结束... T1是套路题没什么好说的. T2是一个比较蠢的博弈题,我花了很长时间干各种乱七八糟的事 什么打表啊 ...
- 2019.11.11&12题解
Day1 考的不是很好,T1T2没区分度,T3想的太少,考试后期几乎都是在摸鱼,bitset乱搞也不敢打,只拿到了35分,跟前面的差距很大 A. 最大或 标签: 二进制+贪心 题解: 首先x,y中一定 ...
- python编程【环境篇】- 如何优雅的管理python的版本
简介 之前的文章(Python2还是python3 )中我们提到,建议现在大家都采用python3,因为python2在今年年底将不在维护.但在实际的开发和使用python过程中,我们避免不了还得用到 ...
- ASCALL码对照表
ASCALL码对照表 目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Inter ...
- CAS3.5.2 Server登录后返回用户信息详细解决方案
单点登录(Single Sign-On, 简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.大家在使用时CA ...
- XML解析之Jsoup
操作xml文件 解析(读取):将文档中的数据解读到内存中 写入:将内存中的数据保存到XML文档中.持久化的存储 解析xml的方式 DOM:将标记语言文档一次性加载进内存,在内存中形成一颗dom树 优点 ...