数据库和数据表 (开发常用 操作)

一,数据库的创建

一个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建库建表(数据库和数据表的常用操作)的更多相关文章

  1. SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型

    原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测 ...

  2. sql server 主从库设计和数据库镜像设计

    sql server 主从设计可以通过sql server 的发布订阅实现,在大数据量的时候不要用快照发布,要使用事务发布的方式实现. 主从的设计后,要将数据库的读写分离,实现数据库效率的提示 而数据 ...

  3. sql server 2008 把远程的数据库的数据转移到本地数据数据库里

    如题:把远程的数据库对应表里的数据转移到本地数据数据库的对应表里 比如把192.168.188.160的DB的A表的数据转移到本地的DB的A表里 第一步:连接远程服务器前准备 exec sp_addl ...

  4. SQL Server建库-建表-建约束

    ----------------------------------------SQL Server建库-建表-建约束创建School数据库------------------------------ ...

  5. 【ITOO 2】.NET 动态建库建表:使用SQL字符串拼接方式

    导读:在最近接手的项目(高效云平台)中,有一个需求是要当企业用户注册时,给其动态的新建一个库和表.刚开始接手的时候,是一点头绪都没有,然后查了一些资料,也问了问上一版本的师哥师姐,终于有了点头绪.目前 ...

  6. C# 利用*.SQL文件自动建库建表等的类

    /// <summary> /// 自动建库建表 /// </summary> public class OperationSqlFile { SqlConnection sq ...

  7. MySQL建库建表

    一直使用SQL SERVER 数据库:最近项目使用MY SQL感觉还是有一点不适应.不过熟悉之后就会好很多. MY SQL 安装之后会有一个管理工具MySQL Workbench 感觉不太好用,数据库 ...

  8. 使用T-sql建库建表建约束

    为什么要使用sql语句建库建表? 现在假设这样一个场景,公司的项目经过测试没问题后需要在客户的实际环境中进行演示,那就需要对数据进行移植,现在问题来了:客户的数据库版本和公司开发阶段使用的数据库不兼容 ...

  9. 【ITOO 3】.NET 动态建库建表:实用EF框架提供的codeFirst实现动态建库

    导读:在上篇博客中,介绍了使用SQL字符拼接的方式,实现动态建库建表的方法.这样做虽然也能够实现效果,但是,太麻烦,而且,如果改动表结构,字段的话,会对代码修改很多.但是EF给我们提供了一种代码先行的 ...

随机推荐

  1. IntelliJ IDEA 配置Maven仓库

    1. 下载Maven 官方地址:http://maven.apache.org/download.cgi 2. 修改本地仓库路径 3. 设置环境变量 MAVEN_HOME: E:\DevelopEnv ...

  2. linux 编译引用动态库时,报GLIBC_2,14 not found的处理方法

    这种错误一般是其引用的libc.so,其中含有版本较高的函数导致. 查看及解决办法: objdump -p ./libdmapi.so 显示: version References: ... requ ...

  3. 手写一个简易的IOC

    这个小项目是我读过一点Spring的源码后,模仿Spring的IOC写的一个简易的IOC,当然Spring的在天上,我写的在马里亚纳海沟,哈哈 感兴趣的小伙伴可以去我的github拉取代码看着玩 地址 ...

  4. [考试反思]1102csp-s模拟测试98:苟活

    好像没有什么粘文件得分的必要(本来就没多少分了也丢不了多少了) 而且从这次开始小绿框不代表首杀而代表手速了2333 其实我挺菜的,牛一个frepoen送掉100分才跟我并列%%%milkfun mik ...

  5. Linux下基本操作

    强行转Linux,开始以为会很不适应,其实还好,换汤不换药 本文只讲基本操作,足够让你愉快的打代码,想飞上天的自行百度,或找其他大神(友链) Update 6/20:由于写得太烂被学长爆踩了一顿 直接 ...

  6. 使用Typescript重构axios(二十四)——防御XSRF攻击

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  7. 大数据之路day02_2--if switch while for

    在这一节,学习程序流程控制,具体包括判断结构.选择结构.循环结构. 1.判断结构(if.if-else) 三元运算符和if-else的区别 三元运算符,是一个运算符,所以运行必须有结果 而if-els ...

  8. .net core Json字符串的序列化和反序列化通用类源码,并模拟了10万数据对比DataContractJsonSerializer和Newtonsoft性能

    我们在开发中Json传输数据日益普遍,有很多关于Json字符串的序列化和反序列化的文章大多都告诉你怎么用,但是却不会告诉你用什么更高效.因为有太多选择,人们往往会陷入选择难题. 相比.NET Fram ...

  9. 实现 call、apply、bind

    实现 call.apply.bind 在之前一篇文章写了这三个参数的区别,但是其实面试更常考察如何实现.其实所有的原生函数的 polyfill 如何实现,只需要考虑 4 点即可: 基本功能 原型 th ...

  10. ADO.NET学习心得《一》

    大家好,我是代号六零一,很高兴又开始重启博客了,为了更好的加深自己的记忆和复习,今天开始坚持写写心得体会,刚开始学习ADO.NET的时候也是一脸懵逼的,代码只有动手敲打才会知道其实并不难,只要多敲几遍 ...