1. Ø Go批处理语句 用于同时执行多个语句
  2. Ø 使用、切换数据库
  3.  
  4. use master
  5. go
  6.  
  7. Ø 创建、删除数据库
  8.  
  9. 方法1
  10.  
  11. --判断是否存在该数据库,存在就删除
  12. if (exists (select * from sys.databases where name = 'testHome'))
  13. drop database testHome
  14. go
  15. --创建数据库,设置数据库文件、日志文件保存目录
  16. create database testHome
  17. on(
  18. name = 'testHome',
  19. filename = 'c:\data\students.mdf'
  20. )
  21. log on(
  22. name = 'testHome_log',
  23. filename = 'c:\data\testHome_log.ldf'
  24. )
  25. go
  26.  
  27. 方法2(设置文件大小)、
  28.  
  29. if (exists (select * from sys.databases where name = 'testHome'))
  30. drop database testHome
  31. go
  32. create database testHome
  33. --默认就属于primary主文件组,可省略
  34. on primary (
  35. --数据文件的具体描述
  36. name = 'testHome_data', --主数据文件的逻辑名
  37. fileName = 'c:\testHome_data.mdf', --主数据文件的物理名
  38. size = 3MB, --主数据文件的初始大小
  39. maxSize = 50MB, --主数据文件增长的最大值
  40. fileGrowth = 10% --主数据文件的增长率
  41. )
  42. --日志文件的具体描述,各参数含义同上
  43. log on (
  44. name = 'testHome_log',
  45. fileName = 'c:\testHome_log.ldf',
  46. size = 1MB,
  47. fileGrowth = 1MB
  48. )
  49. go
  50.  
  51. 方法3(设置次数据文件)、
  52.  
  53. if (exists (select * from sys.databases where name = 'testHome'))
  54. drop database testHome
  55. go
  56. create database testHome
  57. --默认就属于primary主文件组,可省略
  58. on primary (
  59. --数据文件的具体描述
  60. name = 'testHome_data', --主数据文件的逻辑名
  61. fileName = 'c:\testHome_data.mdf', --主数据文件的物理名
  62. size = 3MB, --主数据文件的初始大小
  63. maxSize = 50MB, --主数据文件增长的最大值
  64. fileGrowth = 10% --主数据文件的增长率
  65. ),
  66. --次数据文件的具体描述
  67. (
  68. --数据文件的具体描述
  69. name = 'testHome2_data', --主数据文件的逻辑名
  70. fileName = 'c:\testHome2_data.mdf', --主数据文件的物理名
  71. size = 2MB, --主数据文件的初始大小
  72. maxSize = 50MB, --主数据文件增长的最大值
  73. fileGrowth = 10% --主数据文件的增长率
  74. )
  75. --日志文件的具体描述,各参数含义同上
  76. log on (
  77. name = 'testHome_log',
  78. fileName = 'c:\testHome_log.ldf',
  79. size = 1MB,
  80. fileGrowth = 1MB
  81. ),
  82. (
  83. name = 'testHome2_log',
  84. fileName = 'c:\testHome2_log.ldf',
  85. size = 1MB,
  86. fileGrowth = 1MB
  87. )
  88. go
  89.  
  90. Ø 基本数据类型
  91.  
  92. 精确数字类型
  93.  
  94. 类型
  95. 描述
  96.  
  97. bigint
  98. bigint 数据类型用于整数值可能超过 int 数据类型支持范围的情况,范围:-2^63 2^63-1,存储空间8字节
  99.  
  100. int
  101. 整数数据类型,范围在-2^31 2^31-1,存储空间4字节
  102.  
  103. smallint
  104. 整数,范围在-2^15 2^15-1,存储空间2字节
  105.  
  106. tinyint
  107. 范围在0 255,存储空间1字节
  108.  
  109. bit
  110. 可以取值为 10 NULL 的整数数据类型,每8bit占一个字节,16bit2个字节,24bit3个字节
  111.  
  112. decimal
  113. 带固定精度和小数位数的数值数据类型,有效值从 - 10^38 +1 10^38 - 1
  114.  
  115. numeric
  116.  
  117. 同上
  118.  
  119. money
  120. 货币或货币值的数据类型,范围在-922,337,203,685,477.5808 922,337,203,685,477.5807
  121.  
  122. smallmoney
  123. 货币类型,-214,748.3648 214,748.3647
  124.  
  125. 近似数字类型
  126.  
  127. 类型
  128.  
  129. 描述
  130.  
  131. float
  132. 表示浮点数值数据的大致数值数据类型。浮点数据为近似值;范围-1.79E + 308 -2.23E - 3080 以及 2.23E - 308 1.79E + 308
  133.  
  134. real
  135. real SQL-92 同义词为 float(24),范围在-3.40E + 38 -1.18E - 380 以及 1.18E - 38 3.40E + 38
  136.  
  137. 日期时间类型
  138.  
  139. 类型
  140.  
  141. 描述
  142.  
  143. datetime
  144. 表示某天的日期和时间的数据类型,范围在1753 1 1 日到 9999 12 31
  145.  
  146. smalldatetime
  147. 范围在1900 1 1 日到 2079 6 6
  148.  
  149. 字符串类型
  150.  
  151. 类型
  152. 描述
  153. char
  154. 固定长度或可变长度的字符数据类型,范围在范围为 1 8,000字节
  155.  
  156. text
  157. 最大长度为 2^31-1
  158.  
  159. varchar
  160. 固定长度或可变长度的字符数据类型,最大存储大小是 2^31-1 个字节
  161.  
  162. Unicode字符串类型
  163. 类型
  164.  
  165. 描述
  166.  
  167. nchar
  168. 字符数据类型,长度固定,在必须在 1 4,000 之间
  169.  
  170. nvarchar
  171. 可变长度 Unicode 字符数据。最大存储大小为 2^31-1 字节
  172.  
  173. ntext
  174. 长度可变的 Unicode 数据,最大长度为 2^30 - 1 (1,073,741,823) 个字符
  175.  
  176. 二进制字符串类型
  177.  
  178. 类型
  179.  
  180. 描述
  181.  
  182. binary
  183. 长度为 n 字节的固定长度二进制数据,范围从 1 8,000 的值。存储大小为 n 字节。
  184.  
  185. varbinary
  186. 可变长度二进制数据。n 可以取从 1 8,000 的值。最大的存储大小为 2^31-1 字节
  187.  
  188. image
  189. 长度可变的二进制数据,从 0 2^31-1 (2,147,483,647) 个字节
  190.  
  191. Ø 判断表或其他对象及列是否存在
  192.  
  193. --判断某个表或对象是否存在
  194. if (exists (select * from sys.objects where name = 'classes'))
  195. print '存在';
  196. go
  197. if (exists (select * from sys.objects where object_id = object_id('student')))
  198. print '存在';
  199. go
  200. if (object_id('student', 'U') is not null)
  201. print '存在';
  202. go
  203.  
  204. --判断该列名是否存在,如果存在就删除
  205. if (exists (select * from sys.columns where object_id = object_id('student') and name = 'idCard'))
  206. alter table student drop column idCard
  207. go
  208. if (exists (select * from information_schema.columns where table_name = 'student' and column_name = 'tel'))
  209. alter table student drop column tel
  210. go
  211.  
  212. Ø 创建、删除表
  213.  
  214. --判断是否存在当前table
  215. if (exists (select * from sys.objects where name = 'classes'))
  216. drop table classes
  217. go
  218. create table classes(
  219. id int primary key identity(1, 2),
  220. name varchar(22) not null,
  221. createDate datetime default getDate()
  222. )
  223. go
  224. if (exists (select * from sys.objects where object_id = object_id('student')))
  225. drop table student
  226. go
  227. --创建table
  228. create table student(
  229. id int identity(1, 1) not null,
  230. name varchar(20),
  231. age int,
  232. sex bit,
  233. cid int
  234. )
  235. go
  236.  
  237. Ø 给表添加字段、修改字段、删除字段
  238.  
  239. --添加字段
  240. alter table student add address varchar(50) not null;
  241. --修改字段
  242. alter table student alter column address varchar(20);
  243. --删除字段
  244. alter table student drop column number;
  245.  
  246. --添加多个字段
  247. alter table student
  248. add address varchar(22),
  249. tel varchar(11),
  250. idCard varchar(3);
  251.  
  252. --判断该列名是否存在,如果存在就删除
  253. if (exists (select * from sys.columns where object_id = object_id('student') and name = 'idCard'))
  254. alter table student drop column idCard
  255. go
  256. if (exists (select * from information_schema.columns where table_name = 'student' and column_name = 'tel'))
  257. alter table student drop column tel
  258. go
  259.  
  260. Ø 添加、删除约束
  261.  
  262. --添加新列、约束
  263. alter table student
  264. add number varchar(20) null constraint no_uk unique;
  265. --增加主键
  266. alter table student
  267. add constraint pk_id primary key(id);
  268. --添加外键约束
  269. alter table student
  270. add constraint fk_cid foreign key (cid) references classes(id)
  271. go
  272. --添加唯一约束
  273. alter table student
  274. add constraint name_uk unique(name);
  275. --添加check约束
  276. alter table student with nocheck
  277. add constraint check_age check (age > 1);
  278. alter table student
  279. add constraint ck_age check (age >= 15 and age <= 50)
  280. --添加默认约束
  281. alter table student
  282. add constraint sex_def default 1 for sex;
  283. --添加一个包含默认值可以为空的列
  284. alter table student
  285. add createDate smalldatetime null
  286. constraint createDate_def default getDate() with values;
  287.  
  288. ----- 多个列、约束一起创建--------
  289. alter table student add
  290. /*添加id主键、自增*/
  291. id int identity constraint id primary key,
  292. /* 添加外键约束*/
  293. number int null
  294. constraint uNumber references classes(number),
  295. /*默认约束*/
  296. createDate decimal(3, 3)
  297. constraint createDate default 2010-6-1
  298. go
  299.  
  300. --删除约束
  301. alter table student drop constraint no_uk;
  302.  
  303. Ø 插入数据
  304.  
  305. insert into classes(name) values('1班');
  306. insert into classes values('2班', '2011-06-15');
  307. insert into classes(name) values('3班');
  308. insert into classes values('4班', default);
  309.  
  310. insert into student values('zhangsan', 22, 1, 1);
  311. insert into student values('lisi', 25, 0, 1);
  312. insert into student values('wangwu', 24, 1, 3);
  313. insert into student values('zhaoliu', 23, 0, 3);
  314. insert into student values('mazi', 21, 1, 5);
  315. insert into student values('wangmazi', 28, 0, 5);
  316. insert into student values('jason', null, 0, 5);
  317. insert into student values(null, null, 0, 5);
  318.  
  319. insert into student
  320. select 'bulise' name, age, sex, cid
  321. from student
  322. where name = 'tony';
  323.  
  324. --多条记录同时插入
  325. insert into student
  326. select 'jack', 23, 1, 5 union
  327. select 'tom', 24, 0, 3 union
  328. select 'wendy', 25, 1, 3 union
  329. select 'tony', 26, 0, 5;
  330.  
  331. Ø 查询、修改、删除数据
  332.  
  333. --查询数据
  334. select * from classes;
  335. select * from student;
  336. select id, 'bulise' name, age, sex, cid from student
  337. where name = 'tony';
  338. select *, (select max(age) from student) from student
  339. where name = 'tony';
  340.  
  341. --修改数据
  342. update student set name = 'hoho', sex = 1 where id = 1;
  343.  
  344. --删除数据(from可省略)
  345. delete from student where id = 1;
  346.  
  347. Ø 备份数据、表
  348.  
  349. --备份、复制student表到stu
  350. select * into stu from student;
  351. select * into stu1 from (select * from stu) t;
  352. select * from stu;
  353. select * from stu1;
  354.  
  355. Ø 利用存储过程查询表信息
  356.  
  357. --查询student相关信息
  358. exec sp_help student;
  359. 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. IOS lib(.a)库冲突解决办法

    在引入第三方lib(.a)库时,经常会由于第三方lib库中又引入同你现有工程相同的开源代码而造成.o冲突,最近在集成汉王名片识别时发生ASIHttp的.o冲突.我想说的是像这种开源的使用率很高的源代码 ...

  2. redis pub/sub 实战: 微信语音识别

    2015年5月22日 20:20:20 星期五 效果: 这边对微信说话,  浏览器端及时显示语音识别的文字 注意: 在连接socket.io时, 按下浏览器f12, 如果一直有请求不断的刷, 说明so ...

  3. delphi XE5下安卓开发技巧

    delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手 ...

  4. python pexpect 学习与探索

    pexpect是python交互模块,有两种使用方法,一种是函数:run另外一种是spawn类 1.pexpect  module 安装 pexpect属于第三方的,所以需要安装, 目前的版本是 3. ...

  5. spring mvc配置完后实现下载功能

    实现是前台: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...

  6. 【leetcode】LRU Cache(hard)★

    Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol ...

  7. 通过xib加载UITableViewCell的新方式

    我们以前通常会这样做 - (UITableViewCell  *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPa ...

  8. java https tomcat 单双认证(含证书生成和代码实现) 原创转载请备注,谢谢O(∩_∩)O

    server: apache-tomcat-6.0.44 jdk1.7.0_79client: jdk1.7.0_79 jks是JAVA的keytools证书工具支持的证书私钥格式. pfx是微软支持 ...

  9. nohup命令

    nohup就是不挂起的意思( n ohang up). .nohup command 或者 nohup command & 这之间的差别是带&的命令行,即使terminal(终端)关闭 ...

  10. React之JSX入门

    React是由ReactJS与React Native组成,其中ReactJS是Facebook开源的一个前端框架,React Native 是ReactJS思想在native上的体现! JSX并不是 ...