一、数据库的创建(SQL语句)CREATE DATABASE A
ON PRIMARY --主文件组
(
    NAME='A_data',--逻辑文件名
    --物理文件名
    FILENAME='H:\project\A_data.mdf',
    SIZE=5MB,--初始大小
    MAXSIZE=100MB,--最大容量
    FILEGROWTH=15%--增长率
),
FILEGROUP FG   --创建了一个次文件组
(
    NAME='E_Market2_data',
    FILENAME='H:\project\E_Market2_data.ndf',
    SIZE=4MB,
    FILEGROWTH=10%
)
LOG ON --日志文件
(
    NAME='A_log',
    FILENAME='H:\project\A_log.ldf',
    SIZE=5MB,
    FILEGROWTH=0--未启用自动增长
),
(
    NAME='A2_log',
    FILENAME='H:\project\A2_log.ldf',
    SIZE=3MB,
    FILEGROWTH=10%,
    MAXSIZE=100MB
)
GO

数据库文件包括:

  1. 主数据文件(MDF)--可以保存数据库中的所有数据,包括用户对象和系统对象,每个数据库有且只有一个主数据文件。
  2. 辅助数据文件(NDF)--也成次数据文件,用于保存用户数据,比如用户数据表、用户视图,但是不能保存系统数据。
  3. 事务日志文件(LDF)--用于记录操作事务的文件。

    二、数据表的创建

CREATE TABLE OrderInfo
(
    OrderId INT IDENTITY(1,1) NOT NULL,--订单编号
    UserId VARCHAR(20) NOT NULL,--外键,引用UserInfo表的主键
    CommodityId INT NOT NULL,--外键,引用商品信息表的主键
    Amount INT NOT NULL,--数量
    PayMoney BIGINT NOT NULL,--付货总金额
    PayWay VARCHAR(50) NOT NULL,--付款方式
    OrderTime DATETIME NOT NULL,--下单日期
    Confirm INT NOT NULL,--是否确认收,1表示确认,0表示没有确认,默认0
    SendGoods INT NOT NULL --是否发货,0没发,1发货,默认0
)

类型
         
 文本数据类型
char 固定长度非unicode字符数据
varchar 可变长度非unicode字符数据
nchar 固定长度unicode数据
nvarchar 可变长度unicode数据
text 存储文本信息
ntext 存储可变长度的文本
日期和时间 datetime  
数字数据类型 int、smallint、bigint  
float、real  
numeric(18,0)  
货币数据类型 money  
bit数据类型 bit 存储布尔数据类型

注:当不确定要创建的表是否已经存在时可以使用if先判断,若存在先删除,这样就不会报错。如:

IF EXISTS(SELECT * FROM sysobjects WHERE name='OrderInfo')
DROP TABLE OrderInfo

三、为表的列添加约束

对上述创建的表添加约束:

alter table OrderInfo
  add constraint pk_orderid primary key(orderid),
      constraint fk_userid foreign key(userid) references UserInfo(userid),
      constraint fk_commodityid foreign key(commodityid) references  commodityinfo(commodityid),
      constraint dk_payway default('网上银行')  for payway,
      constraint ck_confirm check(confirm=0 or confirm=1),
      constraint dk_confirm default(0) for confirm,
      constraint  ck_sendgood check(sendgood=1 or sendgood=0),
      constraint dk_sendgood default(0) for sendgood
  go

格式为:alter table 表名
add constraint 约束名 约束类型 约束列
注:约束名取名规则推荐:约束类型简写_约束列  (毕竟顾名思义嘛)
主键约束primary key
外键约束 foreign key
唯一约束 unique key
默认约束 default key
检查约束 check key

四、删除数据
1、delete [from] 表名 [where <条件>]
   1)  没有where 条件时则为删除整张表。
   2) 删除后,再次添加数据时,标识列继续增长,不会从标识种子开始。
2、truncate table 表名
  1)  删除一整张表的数据,再次加入数据时表示列从标识种子开始。
   2)不能用于删除有外键约束的表,但可以使用delete删除所有数据。

五、数据导入与导出

导入:源--excel,目标:数据库表

碰到的问题:导入时报外部数据库驱动程序的报错
原因:excel版本不匹配
解决:重建一个与所选excel版本匹配的excel表格文件。或者改变默认选择的Microsoft Excel 版本,多试试。

六、删除表  drop table 表名
       聚合函数 max 、min、count、average等
      分组查询 group by

SQL SERVER 的操作复习的更多相关文章

  1. Sql Server 常用操作2

    FOR XML PATH应用 stuID学生编号,sName代表学生姓名,hobby列存学生的爱好! SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as ho ...

  2. Sql Server 常用操作

    --DDL触发器CREATE   TRIGGER [TR_create_drop_alter_Table] ON DATABASE FOR CREATE_TABLE,DROP_table,ALTER_ ...

  3. C++对MS SQL Server的操作

    今天因为在做一份C++的期末作业,突然想用C++来链接数据库,实现数据的重复利用,所以就作死去百度搜了一下. 更巧的事情是,一搜居然还有很多搜索结果,然后就照着做了. 做的过程很艰辛,就不一一诉说了, ...

  4. Exam 70-462 Administering Microsoft SQL Server 2012 Databases 复习帖

    好吧最近堕落没怎么看书,估计这个月前是考不过了,还是拖到国庆之后考试吧.想着自己复习考试顺便也写点自己的复习的概要,这样一方面的给不准备背题库的童鞋有简便的复习方法(好吧不被题库的同学和我一样看MSD ...

  5. SQL Server 审计操作概念

    概述 对于一般的数据库系统审计可能不太会被重视,但是对于金融系统就不一样的.金融系统对审计要求会很高,除了了记录数据库各种操作记录还可能会需要开发报表来呈现这些行为数据.使用SQL Server Au ...

  6. SQL Server 文件操作

    在master数据库中,SQL Server提供系统扩展的存储过程,其中有一些存储过程的命名以xp_开头,用于处理操作系统的文件. 一,判断文件是否存在 存储过程sys.xp_fileexist 用于 ...

  7. SQL server 数据库 操作及简单查询

    使用SQL Sever语言进行数据库的操作 常用关键字identity 自增长primary key 主键unique 唯一键not null 非空references 外键(引用) 在使用查询操作数 ...

  8. 【转】sql server数据库操作大全——常用语句/技巧集锦/经典语句

    本文为累计整理,有点乱,凑合着看吧! ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆ ☆ ☆ sql 宝 典 ☆ ☆ ☆ 2012年-8月 修订版 ☆ ...

  9. sql server C#操作。原文在收藏页面

    C#操作SQL Server数据库   1.概述 2.连接字符串的写法 3.SqlConnection对象 4.SqlCommand对象 5.SqlDataReader对象 6.DataSet对象 7 ...

随机推荐

  1. Intellij idea创建(包、文件)javaWeb以及Servlet简单实现(Tomcat)

    准备:1. 安装jdk2. 安装tomcat 一.创建并设置javaweb工程 创建项目成功 创建包 创建Servlet 创建包成功,但是报错,原因是没有引入包 我们先表明 现在要引入servlet- ...

  2. P2939 改造路

    P2939 [USACO09FEB]改造路Revamping Trails 裸地分层图最短路 培训的时候考到过 但是-- 我考试的时候写了个基本没有的树状数组优化.然后顺利的被卡到了70分(裸的spf ...

  3. scala容器使用

    花了两个小时左右,学习了一下scala语言, 由于scala运行在jvm之上, 可以使用java容器也可以使用scala自带的容器. import java.util import java.util ...

  4. python序列化_json,pickle,shelve模块

    序列化 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 把内存数据 转成字符,叫序列化 把字符 转成内存数据,叫反序列化 模块 ...

  5. LinQ 简介

    LinQ是3.0新加的语法.用起来比较方便,我们可以使用较简单的方法来过滤数据和处理数据. 使用场景: 可以看到LINQ使用场景还是很多的.现在写项目基本都会用到. 在出现委托之前,我们来查找对象 在 ...

  6. vue开发工具node.js及构建工具webpack

    1.概念 node.js:可以运行JavaScript的服务平台,可以把它当做一个后端程序,只是它的开发语言是JavaScript (通常情况下,JavaScript的运行环境都是浏览器,因此Java ...

  7. SpringMVC知识点总结

    1. SpringMVC概述        SpringMVC是一个WEB层框架,主要用来负责与页面的交互.        SpringMVC是Spring家族的一大组件.Spring整合Spring ...

  8. git 指定用户名密码更新代码

    使用git 更新代码 如何修改git 的密码一直令人费解,百度一堆也没给出答案.下面给一种替代方案. 例如:我们正常的代码地址 http://172.16.210.112/project/test.g ...

  9. iOS 获取APP的CPU、内存等信息

    目标是开发一个SDK,嵌入到APP里面,用来统计当前APP的实时CPU.内存等信息 2015.11.17 http://stackoverflow.com/questions/12889422/ios ...

  10. [USACO5.2]蜗牛的旅行Snail Trails(有条件的dfs)

    题目描述 萨丽·斯内尔(Sally Snail,蜗牛)喜欢在N x N 的棋盘上闲逛(1 < n <= 120). 她总是从棋盘的左上角出发.棋盘上有空的格子(用“.”来表示)和B 个路障 ...