简单实用 “易忘” 的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 ...
随机推荐
- UCOS 信号量的初值问题
当 pend请求发出的时候信号量的值减1,当post的时候信号量的值加1,信号量的值0跟1分别是用来同步跟互斥的,什么是同步,什么是互斥呢...假设你把信号量的值设为0,有A,B连个任务,当A发出pe ...
- Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法
这里说一下,如果复制了虚拟机,设置新的MAC地址为什么? 在虚拟机的网络设置中--->高级.然后找到如下窗口,生成新的MAC地址即可. ----------------------------- ...
- Xcode-Xcode 7.3 解决不能自动联想问题-备
一.问题: 升级Xcode 7.3 之后发现导入头文件之后,没法自动联想. 二. 解决办法: 打开Xcode --> Target --> BuildSettings --> App ...
- win8 在哪找画图工具
把鼠标放在右上角,然后往下拉,出现搜索图标,如图: 在‘搜索’输入‘画图’ 打开即可使用.
- Laravel 依赖注入原理
众所周知 Laravel 的文档对于依赖注入只写了如何使用,相信大多数人对于他的实现原理并不太清楚.虽然使用过程中并不需要关心她的原理,但是了解原理让你使用起来更自信.这个帖子就通过一个小 demo ...
- .net performance
http://msdn.microsoft.com/en-us/library/ms173196.aspx http://www.zhihu.com/question/20314377 http:// ...
- Gmail 一些需注意的事
display none 的问题 如果我们写html 然后用 mail server 发给gmail client . 如果内容涉及 display:none , 请加一个 important 比如 ...
- ural 1572 Yekaterinozavodsk Great Well
#include <cstdio> #include <cstring> #include <cmath> #include <algorithm> # ...
- XJOI网上同步测试DAY14 T2
思路:先考虑在D高度的最小圆覆盖,再一层一层往下走时,可以保证圆心与最开始的圆相同的时候答案是最优的. 时间复杂度O(n) 有一个坑点,就是我用了srand(time(NULL))就T了,RP太差了. ...
- HDU_2019——向排序好的数列中插入数
Problem Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序. Input 输入数据包含多 ...