简单实用 “易忘” 的SQL 语句语法,新老皆宜
--创建数据库
create database 数据库名
on primary
(
name='数据库名_data', filename='数据库储存路径',
size=数据库初始大小(MB), maxsize=数据库增长的最大值(MB),
filegrowth=数据库文件的增长率,(%)
)
log on
(
--日志文件 name='日志文件名_log',
fileName='日志文件存储路径',
size='日志文件大小',
fileGrowth='日志文件增长率'
)
--创建表
create table 表名
(
id int primary key identity(1,1) not null, --设置 Id 为主键 (primary key 标识列为inentity(1,1))
accp date default(getdate()), --设置默认日期 default(getdate())为当前
pid int foreign key references 表名(pid) --设pid 为某张表的外键 (foreign key references 表(pid))
)
--向表中插入数据
insert into 表名 values('插入的列数据'……)
--向表中插入多条数据
insert into 表名 (列名……)
serect 列名值…… union --插入最后一个不用union
--查询表
select 列名…… from 表名 where (查询条件)
select * from 表名
--删除表
delete 表名 --删除表数据
drop 表名 --删除整个表以及数据
--修改表
update 表名 set 修改 where 修改条件
--创建存储过程
create proc usp_存储过程名
declare @变量名 变量数据类型(int……)[out/put](输入输出)
as
sql语句块
--事务处理
begin transaction --开启事务
rollback transaction --回滚事务
Commit Transaction --提交事务
简单的实例 :
例如银行储户 A 要给银行储户 B 转账
储户表结构: 储户帐号(ID) 储户身份证号(IDCard) 现有余额(balance)
则: A: 01 A身份证号 1000
B: 02 B身份证号 2000
在 A 给 B 转账的同时 两个人的账户余额,都要进行响应的改变,如果出现A帐号转账金额大于余额
,也就是余额不足的情况下,转账交易则不成立,假设转账金额为300元
这里一般结合存储过程来用:
create proc usp_zhuanzhang
declare @money int=300 --转账金额参数为300元
as
begin transaction --开启事务
update 表A set balance=balance-@money where ID=01
update 表B set balance=balance+@money where ID=02
if @@Error<> 0 goto xx --如果其中出现错误, 就到 命名为 xx 的地方处理
commit transaction --否则就提交
xx:
rollback transaction --出现错误,就回滚 (错误原因有: A账户的余额不足,当余额不足,交易不成立)
SQL Server中的全局变量
@@Error 最后一个T-sql错误的错误号
@@Identity 最后一次插入的标识值
@@Language 当前使用的语言名称
@@Max_Connections 可以创建的同时连接的最大数目
@@Rowcount 受上一个SQL语句影响的行数
@@ServerName 本地服务器名称
@@ServiceName 该计算机上的Sql服务名称
@@TimeTicks 当前计算机上每刻度微妙数
@@TranScount 当前连接打开的事务数
@@Version SQL Server的版本信息
简单实用 “易忘” 的SQL 语句语法,新老皆宜的更多相关文章
- 【知识库】-数据库_MySQL常用SQL语句语法大全示例
简书作者:seay 文章出处: 关系数据库常用SQL语句语法大全 Learn [已经过测试校验] 一.创建数据库 二.创建表 三.删除表 四.清空表 五.修改表 六.SQL查询语句 七.SQL插入语句 ...
- sql语句语法大全
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- 基础SQL语句/语法
SQL是现在进入互联网工作人们的必须技能之一,下面分享自己觉得很nice的SQL基本语句,从网上找了,觉得很不错,就分享给大家!简要介绍基础语句: 1.说明:创建数据库 Create DATABAS ...
- mysql数据库之基础SQL语句/语法
SQL是现在进入互联网工作人们的必须技能之一,下面分享自己觉得很nice的SQL基本语句,从网上找了,觉得很不错,就分享给大家!简要介绍基础语句: 1.说明:创建数据库 Create DATABAS ...
- sql语句语法
13.1. 数据定义语句 . ALTER DATABASE语法 . ALTER TABLE语法 . CREATE DATABASE语法 . CREATE INDEX语法 . CREATE TABLE语 ...
- 第1 章 mysql数据库之简单的DDL和DML sql语句
一.SQL 介绍 1.什么是sql? SQL,英文全称(Structured Query Language),中文是结构化查询语言,它是一种对关系数据库中数据进行定义和操作的语言方法,是大多数关系数据 ...
- 关系数据库常用SQL语句语法大全
创建表 语法 CREATE TABLE <表名>(<列名> <数据类型>[列级完整性约束条件] [,<列名> <数据类型>[列级完整性约束条 ...
- 浅析SqlServer简单参数化模式下对sql语句自动参数化处理以及执行计划重用
我们知道,SqlServer执行sql语句的时候,有一步是对sql进行编译以生成执行计划, 在生成执行计划之前会去缓存中查找执行计划 如果执行计划缓存中有对应的执行计划缓存,那么SqlServer就会 ...
- 转载-增删改查sql语句语法
一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...
随机推荐
- Lua 仿PHP的strtotime
由于工作原因,两周前开始研究Lua,因为之前的项目要由php改成Lua实现,而一些php里现成的东西,在Lua里就需要手写,于是就有了下面的代码.写的比较粗糙,权当做个记录吧. --[[ 获取时间戳 ...
- nginx 参数记录
log_format custom '$remote_addr - $remote_user [$time_local] ' '"$request" $status $reques ...
- Mssql显错和不显错模式下的注入
Title:Mssql显错和不显错模式下的注入 -- 2010-10-27 19:51 近期用手工注入用习惯了,便列出最近用的Mssql语句,以后方便拿来用! -------------------- ...
- Visual Studio 2015 Owin+MVC+WebAPI+ODataV4+EntityFrawork+Identity+Oauth2.0+AngularJS 1.x 学习笔记
2016年,.net 会有很多大更新 ASP.NET 5 在此之前我都是用着古老的.net做开发的 (WebForm + IIS) 为了接下来应对 .net 的新功能,我特地去学习了一下基本的 MVC ...
- nmap svn
http://stackoverflow.com/questions/13296361/nmap-and-svnlib-client-not-working-together http://nmap. ...
- 单片机汇编语言实现DES加密算法
目前在金融界及非金融界的保密通信中,越来越多地用到了DES算法.DES(Data Encryption Standard)即数据加密算法,是IBM公司于 1977年研究成功并公开发表的.随着我国三金工 ...
- Linux之V4L2视频采集编程详解
V4L2(Video For Linux Two) 是内核提供给应用程序访问音.视频驱动的统一接口. Linux系统中,视频设备被当作一个设备文件来看待,设备文件存放在 /dev目录下,完整路径的设 ...
- 在JavaScript函数式编程里使用Map和Reduce方法
所有人都谈论道workflows支持ECMAScript6里出现的令人吃惊的新特性,因此我们很容易忘掉ECMAScript5带给我们一些很棒的工具方法来支持在JavaScript里进行函数编程,这些工 ...
- iOS面试题大全-点亮你iOS技能树
所有的内容大部分来自于网络的搜集,所以我不是一个创造者,而是一个搬运工.我尽量把题目,尤其是参考答案的出处列明.若有任何疑问,建议,意见,请联系我. 第一部分面试题来源于iOS-Developer-I ...
- 关于git的文件内容冲突解决
虽然以前我很怕git冲突,包括以前的版本控制器SVN上的冲突,但是昨天我决定好好的面对它,不去怕它,下面是我的解决过程... 话说一天的早上,我和同事(称为A)都同步了网络上的代码,然而A在中途提交了 ...