T-SQL 基础编程
- Ø 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 基础编程的更多相关文章
- oracle PL/SQL基础编程
PL/SQL(Procedural Language/SQL)是oracle中引入的一种过程化编程语言 PLS-00103:出现符号"declare"在需要下列之一时 符号&quo ...
- PL/SQL 基础编程
PL/Sql 编程 PL/Sql结构 [declare] --声明变量 begin --执行部分 [exception] ---异常处理部分 end PL/Sql 基本数据类型 数值类型 1. nu ...
- Oracle数据库—— PL/SQL基础编程
一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs) ...
- PL/SQL存储过程编程
PL/SQL存储过程编程 /**author huangchaobiao *Email:huangchaobiao111@163.com */ PL/SQL存储过程编程(上) 1. Oracle应用编 ...
- 第一章 SQL基础
第一部分:SQL基础1. 为什么学习SQL自人类社会形成之日起,社会的运转就在不断地产生和使用各种信息(文献.档案.资料.数据等):在如今所谓的信息时代,由于计算机和互联网的作用,信息的产生和使用达到 ...
- SQL Server编程系列(2):SMO常用对象的有关操作
原文:SQL Server编程系列(2):SMO常用对象的有关操作 在上一篇周公简单讲述了SMO的一些基本概念,实际上SMO体系结构远不止周公在上一篇中讲述的那么简单,下图是MSDN上给出的一个完整的 ...
- Oracle SQL高级编程——分析函数(窗口函数)全面讲解
Oracle SQL高级编程--分析函数(窗口函数)全面讲解 注:本文来源于:<Oracle SQL高级编程--分析函数(窗口函数)全面讲解> 概述 分析函数是以一定的方法在一个与当前行相 ...
- 简单的TSQL基础编程格式,存储过程,视图
这里简单整理一下数据库简单的编程,变量定义,赋值,分支语句和循环(这里以Sqlserver),以及存储过程格式 首先是变量定义,赋值,分支语句 --======TSQL数据库基础编程,定义变量,赋值, ...
- Hadoop 综合揭秘——MapReduce 基础编程(介绍 Combine、Partitioner、WritableComparable、WritableComparator 使用方式)
前言 本文主要介绍 MapReduce 的原理及开发,讲解如何利用 Combine.Partitioner.WritableComparator等组件对数据进行排序筛选聚合分组的功能.由于文章是针对开 ...
- Unit01: JDBC原理 、 JDBC基础编程
Unit01: JDBC原理 . JDBC基础编程 这个文件里面有两块内容: 1.用比较麻烦的方式连接数据库,test1(),test4() 2.创建DBTool,测试DBTool连接数据库 ,tes ...
随机推荐
- IOS lib(.a)库冲突解决办法
在引入第三方lib(.a)库时,经常会由于第三方lib库中又引入同你现有工程相同的开源代码而造成.o冲突,最近在集成汉王名片识别时发生ASIHttp的.o冲突.我想说的是像这种开源的使用率很高的源代码 ...
- redis pub/sub 实战: 微信语音识别
2015年5月22日 20:20:20 星期五 效果: 这边对微信说话, 浏览器端及时显示语音识别的文字 注意: 在连接socket.io时, 按下浏览器f12, 如果一直有请求不断的刷, 说明so ...
- delphi XE5下安卓开发技巧
delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手 ...
- python pexpect 学习与探索
pexpect是python交互模块,有两种使用方法,一种是函数:run另外一种是spawn类 1.pexpect module 安装 pexpect属于第三方的,所以需要安装, 目前的版本是 3. ...
- spring mvc配置完后实现下载功能
实现是前台: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...
- 【leetcode】LRU Cache(hard)★
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol ...
- 通过xib加载UITableViewCell的新方式
我们以前通常会这样做 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPa ...
- java https tomcat 单双认证(含证书生成和代码实现) 原创转载请备注,谢谢O(∩_∩)O
server: apache-tomcat-6.0.44 jdk1.7.0_79client: jdk1.7.0_79 jks是JAVA的keytools证书工具支持的证书私钥格式. pfx是微软支持 ...
- nohup命令
nohup就是不挂起的意思( n ohang up). .nohup command 或者 nohup command & 这之间的差别是带&的命令行,即使terminal(终端)关闭 ...
- React之JSX入门
React是由ReactJS与React Native组成,其中ReactJS是Facebook开源的一个前端框架,React Native 是ReactJS思想在native上的体现! JSX并不是 ...