转载,查看原文

Ø Go批处理语句

用于同时执行多个语句

Ø 使用、切换数据库

use master

go

 

Ø 创建、删除数据库

方法1、

--判断是否存在该数据库,存在就删除

if (exists (select * from sys.databases where name = 'testHome'))

    drop database testHome

go

--创建数据库,设置数据库文件、日志文件保存目录

create database testHome

on(

    name = 'testHome',

    filename = 'c:\data\students.mdf'    

)

log on(

    name = 'testHome_log',

    filename = 'c:\data\testHome_log.ldf'

)

go

 

方法2(设置文件大小)、

if (exists (select * from sys.databases where name = 'testHome'))

    drop database testHome

go

create database testHome

--默认就属于primary主文件组,可省略

on primary (    

    --数据文件的具体描述

    name = 'testHome_data',                --主数据文件的逻辑名

    fileName = 'c:\testHome_data.mdf',    --主数据文件的物理名

    size = 3MB,                        --主数据文件的初始大小

    maxSize = 50MB,                    --主数据文件增长的最大值

    fileGrowth = 10%                --主数据文件的增长率

)

--日志文件的具体描述,各参数含义同上

log on (

    name = 'testHome_log',

    fileName = 'c:\testHome_log.ldf',

    size = 1MB,

    fileGrowth = 1MB

)

go

 

方法3(设置次数据文件)、

if (exists (select * from sys.databases where name = 'testHome'))

    drop database testHome

go

create database testHome

--默认就属于primary主文件组,可省略

on primary (    

    --数据文件的具体描述

    name = 'testHome_data',                --主数据文件的逻辑名

    fileName = 'c:\testHome_data.mdf',    --主数据文件的物理名

    size = 3MB,                        --主数据文件的初始大小

    maxSize = 50MB,                    --主数据文件增长的最大值

    fileGrowth = 10%                --主数据文件的增长率

),

--次数据文件的具体描述

(    

    --数据文件的具体描述

    name = 'testHome2_data',            --主数据文件的逻辑名

    fileName = 'c:\testHome2_data.mdf',    --主数据文件的物理名

    size = 2MB,                        --主数据文件的初始大小

    maxSize = 50MB,                    --主数据文件增长的最大值

    fileGrowth = 10%                --主数据文件的增长率

)

--日志文件的具体描述,各参数含义同上

log on (

    name = 'testHome_log',

    fileName = 'c:\testHome_log.ldf',

    size = 1MB,

    fileGrowth = 1MB

),

(

    name = 'testHome2_log',

    fileName = 'c:\testHome2_log.ldf',

    size = 1MB,

    fileGrowth = 1MB

)

go

Ø 基本数据类型

精确数字类型

类型

描述

bigint

bigint 数据类型用于整数值可能超过 int 数据类型支持范围的情况,范围:-2^63 到 2^63-1,存储空间8字节

int

整数数据类型,范围在-2^31 到 2^31-1,存储空间4字节

smallint

整数,范围在-2^15 到 2^15-1,存储空间2字节

tinyint

范围在0 到 255,存储空间1字节

bit

可以取值为 1、0 或 NULL 的整数数据类型,每8个bit占一个字节,16bit就2个字节,24bit就3个字节

decimal

带固定精度和小数位数的数值数据类型,有效值从 - 10^38 +1 到 10^38 - 1

numeric

同上

money

货币或货币值的数据类型,范围在-922,337,203,685,477.5808 到 922,337,203,685,477.5807

smallmoney

货币类型,-214,748.3648 到 214,748.3647

近似数字类型

类型

描述

float

表示浮点数值数据的大致数值数据类型。浮点数据为近似值;范围-1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308

real

real 的 SQL-92 同义词为 float(24),范围在-3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38

日期时间类型

类型

描述

datetime

表示某天的日期和时间的数据类型,范围在1753 年 1 月 1 日到 9999 年 12 月 31 日

smalldatetime

范围在1900 年 1 月 1 日到 2079 年 6 月 6 日

字符串类型

类型

描述

char

固定长度或可变长度的字符数据类型,范围在范围为 1 至 8,000字节

text

最大长度为 2^31-1

varchar

固定长度或可变长度的字符数据类型,最大存储大小是 2^31-1 个字节

Unicode字符串类型

类型

描述

nchar

字符数据类型,长度固定,在必须在 1 到 4,000 之间

nvarchar

可变长度 Unicode 字符数据。最大存储大小为 2^31-1 字节

ntext

长度可变的 Unicode 数据,最大长度为 2^30 - 1 (1,073,741,823) 个字符

二进制字符串类型

类型

描述

binary

长度为 n 字节的固定长度二进制数据,范围从 1 到 8,000 的值。存储大小为 n 字节。

varbinary

可变长度二进制数据。n 可以取从 1 到 8,000 的值。最大的存储大小为 2^31-1 字节

image

长度可变的二进制数据,从 0 到 2^31-1 (2,147,483,647) 个字节

Ø 判断表或其他对象及列是否存在

--判断某个表或对象是否存在

if (exists (select * from sys.objects where name = 'classes'))

    print '存在';

go

if (exists (select * from sys.objects where object_id = object_id('student')))

    print '存在';

go

if (object_id('student', 'U') is not null)

    print '存在';

go

 

--判断该列名是否存在,如果存在就删除

if (exists (select * from sys.columns where object_id = object_id('student') and name = 'idCard'))

    alter table student drop column idCard

go

if (exists (select * from information_schema.columns where table_name = 'student' and column_name = 'tel'))

    alter table student drop column tel

go

Ø 创建、删除表

--判断是否存在当前table

if (exists (select * from sys.objects where name = 'classes'))

    drop table classes

go

create table classes(

    id int primary key identity(1, 2),

    name varchar(22) not null,

    createDate datetime default getDate()

)

go

if (exists (select * from sys.objects where object_id = object_id('student')))

    drop table student

go

--创建table

create table student(

    id int identity(1, 1) not null,

    name varchar(20),

    age int,

    sex bit,

    cid int

)

go

Ø 给表添加字段、修改字段、删除字段

--添加字段

alter table student add address varchar(50) not null;

--修改字段

alter table student alter column address varchar(20);

--删除字段

alter table student drop column number;

 

--添加多个字段

alter table student 

add address varchar(22),

    tel varchar(11),

    idCard varchar(3);

 

--判断该列名是否存在,如果存在就删除

if (exists (select * from sys.columns where object_id = object_id('student') and name = 'idCard'))

    alter table student drop column idCard

go

if (exists (select * from information_schema.columns where table_name = 'student' and column_name = 'tel'))

    alter table student drop column tel

go

Ø 添加、删除约束

--添加新列、约束

alter table student 

    add number varchar(20) null constraint no_uk unique;  

--增加主键

alter table student  

    add constraint pk_id primary key(id);  

--添加外键约束

alter table student

    add constraint fk_cid foreign key (cid) references classes(id)

go

--添加唯一约束

alter table student

    add constraint name_uk unique(name);

--添加check约束

alter table student with nocheck   

    add constraint check_age check (age > 1);

alter table student

    add constraint ck_age check (age >= 15 and age <= 50)

--添加默认约束

alter table student

    add constraint sex_def default 1 for sex;

--添加一个包含默认值可以为空的列

alter table student 

    add createDate smalldatetime null

    constraint createDate_def default getDate() with values;

 

----- 多个列、约束一起创建--------

alter table student add   

    /*添加id主键、自增*/  

    id int identity constraint id primary key,   

    /* 添加外键约束*/   

    number int null    

    constraint uNumber references classes(number),  

    /*默认约束*/  

    createDate decimal(3, 3)  

    constraint createDate default 2010-6-1  

go 

 

--删除约束

alter table student  drop constraint no_uk;

Ø 插入数据

insert into classes(name) values('1班');

insert into classes values('2班', '2011-06-15');

insert into classes(name) values('3班');

insert into classes values('4班', default);

 

insert into student values('zhangsan', 22, 1, 1);

insert into student values('lisi', 25, 0, 1);

insert into student values('wangwu', 24, 1, 3);

insert into student values('zhaoliu', 23, 0, 3);

insert into student values('mazi', 21, 1, 5);

insert into student values('wangmazi', 28, 0, 5);

insert into student values('jason', null, 0, 5);

insert into student values(null, null, 0, 5);

 

insert into student 

select 'bulise' name, age, sex, cid 

from student 

where name = 'tony';

    

--多条记录同时插入

insert into student

    select 'jack', 23, 1, 5 union

    select 'tom', 24, 0, 3 union

    select 'wendy', 25, 1, 3 union

    select 'tony', 26, 0, 5;

Ø 查询、修改、删除数据

--查询数据

select * from classes;

select * from student;

select id, 'bulise' name, age, sex, cid from student 

where name = 'tony';

select *, (select max(age) from student) from student 

where name = 'tony';

 

--修改数据

update student set name = 'hoho', sex = 1 where id = 1;

 

--删除数据(from可省略)

delete from student where id = 1;

Ø 备份数据、表

--备份、复制student表到stu

select * into stu from student;

select * into stu1 from (select * from stu) t;

select * from stu;

select * from stu1;

Ø 利用存储过程查询表信息

--查询student相关信息

exec sp_help student;

exec sp_help classes;

SQL Server数据库基础编程的更多相关文章

  1. SQL Server 数据库基础编程

    Ø Go批处理语句 用于同时执行多个语句 Ø 使用.切换数据库 use master go     Ø 创建.删除数据库   方法1.   --判断是否存在该数据库,存在就删除 if (exists ...

  2. Sql Server数据库基础

    --------------------------------------第一章  Sql Server数据库基础------------------------------------------ ...

  3. C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用

    C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备)  https://blog.csdn.net/u013519551/article/details/51220841 1. . ...

  4. SQL Server 数据库基础笔记分享(下)

    前言 本文是个人学习SQL Server 数据库时的以往笔记的整理,内容主要是对数据库的基本增删改查的SQL语句操作和约束,视图,存储过程,触发器的基本了解. 注:内容比较基础,适合入门者对SQL S ...

  5. SQL Server 数据库基础笔记分享(上)

    前言 本文是个人学习SQL Server 数据库时的以往笔记的整理,内容主要是对数据库的基本增删改查的SQL语句操作和约束,视图,存储过程,触发器的基本了解. 注:内容比较基础,适合入门者对SQL S ...

  6. SQL Server 数据库基础知识

    数据库(Database)是由文件管理系统发展起来的,按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 特点:       尽可能小的冗余度.       具有较高的数据独立性和易扩 ...

  7. 【2017-03-09】SQL Server 数据库基础、四种约束

    一.数据库和内存的区别 数据库:一些存储在硬盘上的数据文件 内存:计算机临时存储的一些数据 二.常用数据库 .Net - SQL Server PHP - MySql Java - Oreacl 三. ...

  8. SQL Server数据库基础笔记

    启动和停止SQL Server服务三种形式 后台启动服务 计算机->右键->管理->服务和应用程序->服务->sql server(MSSQLSERVER) SQL Se ...

  9. sql server 数据库基础知识(二)

    CASE函数用法1:单值判断,相当于switch caseCASE expression WHEN value1 THEN returnvalue1 WHEN value2 THEN returnva ...

随机推荐

  1. FastText 分析与实践

    一. 前言 自然语言处理(NLP)是机器学习,人工智能中的一个重要领域.文本表达是 NLP中的基础技术,文本分类则是 NLP 的重要应用.在 2016 年, Facebook Research 开源了 ...

  2. 第六周 Leetcode 446. Arithmetic Slices II - Subsequence (HARD)

    Leetcode443 题意:给一个长度1000内的整数数列,求有多少个等差的子数列. 如 [2,4,6,8,10]有7个等差子数列. 想了一个O(n^2logn)的DP算法 DP[i][j]为 对于 ...

  3. P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm(Tarjan+记忆化)

    P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm 题意翻译 题目描述 每年,在威斯康星州,奶牛们都会穿上衣服,收集农夫约翰在N(1<=N< ...

  4. wamp集成环境下帝国备份出错

    我在本地wamp环境下面使用帝国备份王时,报错信息如下: Parse error: syntaxerror, unexpected $end in D:wampwwwhuifuclassfunctio ...

  5. 在Ubuntu中设置DNS域名服务器

    在Ubuntu中设置DNS域名服务器主要有四种方法: 一.设置全局静态DNS $ sudo vi /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的),插入: n ...

  6. 修复mysql的表

    数据损坏原因 MySQL表损坏一般是数据损坏,引起损坏的原因可能是由于磁盘损坏.系统崩溃或者MySQL服务器被崩溃等外部原因.例如有人使用kill -9终止进程,导致MySQL进程未能正常关闭,那么就 ...

  7. 水题 Codeforces Round #105 (Div. 2) B. Escape

    题目传送门 /* 水题:这题唯一要注意的是要用double,princess可能在一个小时之内被dragon赶上 */ #include <cstdio> #include <alg ...

  8. ADB Usage Complete / ADB 用法大全

    ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具. 持续更新中,欢迎提 PR 和 Issue 补充指 ...

  9. (9)string对象上的操作2

    比较string对象的比较运算符 这种由string类定义的几种比较字符串的运算符能逐一比较string对象中的字符(对大小写敏感).

  10. DecorView 的创建

    在Activity 的启动过程中,调用ActivityThread 的handleResumeActivity 方法时,先得到一个与Activity 关联的PhoneWindow 对象,然后通过Pho ...