Ø 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;

T-SQL 基础编程的更多相关文章

  1. oracle PL/SQL基础编程

    PL/SQL(Procedural Language/SQL)是oracle中引入的一种过程化编程语言 PLS-00103:出现符号"declare"在需要下列之一时 符号&quo ...

  2. PL/SQL 基础编程

    PL/Sql 编程 PL/Sql结构 [declare] --声明变量 begin --执行部分 [exception] ---异常处理部分 end PL/Sql  基本数据类型 数值类型 1. nu ...

  3. Oracle数据库—— PL/SQL基础编程

    一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs) ...

  4. PL/SQL存储过程编程

    PL/SQL存储过程编程 /**author huangchaobiao *Email:huangchaobiao111@163.com */ PL/SQL存储过程编程(上) 1. Oracle应用编 ...

  5. 第一章 SQL基础

    第一部分:SQL基础1. 为什么学习SQL自人类社会形成之日起,社会的运转就在不断地产生和使用各种信息(文献.档案.资料.数据等):在如今所谓的信息时代,由于计算机和互联网的作用,信息的产生和使用达到 ...

  6. SQL Server编程系列(2):SMO常用对象的有关操作

    原文:SQL Server编程系列(2):SMO常用对象的有关操作 在上一篇周公简单讲述了SMO的一些基本概念,实际上SMO体系结构远不止周公在上一篇中讲述的那么简单,下图是MSDN上给出的一个完整的 ...

  7. Oracle SQL高级编程——分析函数(窗口函数)全面讲解

    Oracle SQL高级编程--分析函数(窗口函数)全面讲解 注:本文来源于:<Oracle SQL高级编程--分析函数(窗口函数)全面讲解> 概述 分析函数是以一定的方法在一个与当前行相 ...

  8. 简单的TSQL基础编程格式,存储过程,视图

    这里简单整理一下数据库简单的编程,变量定义,赋值,分支语句和循环(这里以Sqlserver),以及存储过程格式 首先是变量定义,赋值,分支语句 --======TSQL数据库基础编程,定义变量,赋值, ...

  9. Hadoop 综合揭秘——MapReduce 基础编程(介绍 Combine、Partitioner、WritableComparable、WritableComparator 使用方式)

    前言 本文主要介绍 MapReduce 的原理及开发,讲解如何利用 Combine.Partitioner.WritableComparator等组件对数据进行排序筛选聚合分组的功能.由于文章是针对开 ...

  10. Unit01: JDBC原理 、 JDBC基础编程

    Unit01: JDBC原理 . JDBC基础编程 这个文件里面有两块内容: 1.用比较麻烦的方式连接数据库,test1(),test4() 2.创建DBTool,测试DBTool连接数据库 ,tes ...

随机推荐

  1. 使用phpmyadmin修改XAMPP中MySQL的默认空密码

    XAMPP是开发php应用的一套完整的工具合集,就像安装软件一样安装,其他的都配置好了,不用自己再去繁琐的单独配置Apache.MySQL.php这几个模块了,以前我一直在使用的是Appserv,也是 ...

  2. codeforces 496A. Minimum Difficulty 解题报告

    题目链接:http://codeforces.com/contest/496/problem/A 题目意思:给出有 n 个数的序列,然后通过删除除了第一个数和最后一个数的任意一个位置的数,求出删除这个 ...

  3. linux下动态链接库解决方案(一)

    1.c++无法直接调用用c写的动态链接库,如果调用的话可能需要用到一些交叉编译的知识: 2.在c++写的动态链接库无法被调用成功的反思: 在linux下,通常都是使用g++编译器("g++ ...

  4. C++与C#对比学习:类初始化

    类和柏拉图的理念世界 我们知道面向对象编程中到处是一个个的类,但类只是个概念性的东西,不是个实体,不占内存,你没实例化之前也不能用它.只有把类实例化成一个对象后,它才是一个真正存在的实体.占有内存,能 ...

  5. 【linux】ubuntu stmp服务器配置

    来源:http://blog.itpub.net/786540/viewspace-1002077/ sudo apt-get install sendmail(其中已经包含了sendmail-bin ...

  6. MAC系统下,删除.svn文件

    MAC系统下,.svn文件是隐藏的. 如果项目是非export导出的,那么项目中会有很多的.svn文件. 如果项目的体积非常庞大,我们如何快速的批量删除.svn文件呢?下面是操作方法: 打开终端,cd ...

  7. OSG快速生成一个带有纹理的四边形Geometry

    可以使用Geometry头文件中的 Geometry* createTexturedQuadGeometry osg::ref_ptr<osg::Texture2D> texture = ...

  8. Web上的支持的图片格式以及它们之间的区别

    一.GIF(图形交换格式) GIF格式的图片最多只能保存256中颜色,该格式支持透明色,支持动画效果. 二.JPEG(联合图像专家组) JPEG格式不支持透明色及动画,颜色可达1670种. 三.PNG ...

  9. Spetember 5th 2016 Week 37th Monday

    No matter how far you may fly, never forget where you come from. 无论你能飞多远,都别忘了你来自何方. Stay true to you ...

  10. poj1988(并查集)

    题目链接:http://poj.org/problem?id=1988 题意:有n个箱子,初始时每个箱子单独为一列: 接下来有p行输入,M, x, y 或者 C, x: 对于M,x,y:表示将x箱子所 ...