sql sever基本语法总结
一.数据库导入表
1.先用sql语句创建相应的表,包括表的字段和字段类型
2.导入数据,选择相应的表名,不带'$'符号的表名
二.创建数据库
create datatable 数据库名
三.查看表里的字段结构
sp_help 表名
四.创建表
create table 表名(字段名 字段类型,字段名 字段类型)
类型解析:
nchar(n) 固定长度,存储Unicode字符,不足的补英文半角空格
char(n) 固定长度,存储ANSI字符,不足的补英文半角空格。
varchar(n) 可变长度,存储ANSI字符,根据数据长度自动变化。
nvarchar(n) 可变长度,存储Unicode字符,根据数据长度自动变化(两个字节表示一个字符)
numeric(4,1) 共四位,小数点后保留一位
datetime 一般用来存放出生日期
tinyint 0~255
smallint -32768~32767
五.删除表
drop table 表名
六.表中添加列
alter table 表名 add 列名 列的类型
七.表中修改列
alter table 表名 alter column 列名 类型
八.表删除列
alter table 表名 drop column 列名
九.表中插入记录
a) insert into 表名 values(数据1,数据2)
对于不确定的写null
b)insert into 表名(列1,列2)values(数据1,数据2)
其它值被默认为null 对于字符类型的数据插入时要用单引号,datetime类型的数据添加单引号
十.表查询除去重复列
select distinct 列名 from 表名
十一.条件查询用where
十二.查询某字段的长度为3个字符,where条件里写: 字段名 like '___' 下划线的个数为3个
十三.模糊匹配用like '%表示的匹配美容'
模糊不匹配用not like '%表示的匹配内容'
十四.可以在where条件里进行算术运算
十五.查询是否是某几个特定的值用in (值1,值2)
十六.对于多条件的或查询,
例如: 查询课程号以“01”结尾的并且学时不少于48的课程号,课程名,课程类型和开课学期,
或者不以 “C0”开头的,必修专业基础课的课程号,课程名,课程类型和开课学期
select courseno,cname,type from course where courseno like '%01' and period >=48 or (type='必修' and courseno not like '%c0')
十七.多条件排序
排序方式:desc降序 asc升序 order by 条件1 排序方式,条件2 排序方式
十八.区间查询
between a and b
十九.限制查询的条数:
在查询关键字前加上top 条数
例如:select * from student where birthday>(select top 1 birthday from student where sname='梁欣' ) and sex = (select sex from student where sname='梁欣')
二十.查询取了别名表中的全部数据用:
别名.*
二十一.默认值的设置:
ISNULL(COUNT(studentno),0) studentno的值为空则显示0
二十三.统计不重复列的数量:
select count(distinct sno) from student
二十四.where子句不能用聚合函数作为条件表达式
聚合函数只能用于select子句和group by中的having子句
二十五.查询数据库中所有的表
SELECT Name FROM SysObjects Where XType='U'
二十六.挑选一个表中的数据放入另一个(表已存在的条件下)
a. insert into 表1(字段1,字段2) 直接写表2的select语句
例如:insert into student_backp(sid,name,classno,sex,birth,point,phone) select studentno,sname,classno,sex,birthday,point,phone from student where point>700
b. insert into 表1 直接写表2的select语句(两个表的表字段和类型都要相同)
select studentno,sname,classno,sex,birthday,point,phone from student where point>700
二十七.清空表 truncate table 表名 二十八.在表不存在的情况下将数据插入表中
select 字段1,字段2 into 新表 from 旧表
二十九.给已存在的表添加主键
因为主键不能为空,所以在给已存在于表中的字段设置主键时先要用sql语句把此字段设置为非空,然后写
alter table 表名 add constraint 主键名 primary key(字段名)
三十.删除表中的主键
alter table 表名 drop constraint 主键名
三十一.创建表时设置主键
a. 定义字段时直接定义
字段名 字段类型 primary key
b.在定义的所有字段下面定义
PRIMARY KEY (字段名1,字段名2) 设置多个主码
或: constraint 主键名 primary key(字段名)
三十二.在已存在的表中添加外键
alter table 表1 add constraint 外键名 foreign key(表1的字段) references 表2(表2的字段)
三十三.在不存在的表上添加外键
字段名 int constraint 主键名 foreign key references 表2(表2的字段)
下面一行可有可无
on delete cascade 级联删除(一个表中的记录删除。另一个表记录也删除)
可以把cascade改为null(一个表中的记录删除。另一个表记录相应部分置空)
还要注意的是,两个字段的类型要一致
on update cascade (级联更新)
三十四.唯一约束
唯一约束unique和主键的创建方式差不多,唯一约束允许为空
三十五.在已存在的表中创建唯一约束:
alter table 表名 add constraint 约束名称 unique(字段名)
三十六.check约束用户定义完整性:
格式a:字段名 字段类型 check(条件表达式) --创建表时添加约束
格式b:alter table 表名 --修改表时添加约束
add constraint 约束名 check (条件表达式)
三十七.删除check约束
alter table 表名 drop constraint 约束名
三十八.创建视图
a. create view 视图名 as select语句
b. 创建视图时加上with check option,当对视图进行插入修改和删除操作时,会给视图加上where里的属性
create view 视图名 as select。。where 。。 with check option
三十九.删除视图
drop view 视图名 cascade
cascade可要可无,添加此词表示级联删除,把该视图和由它导出的所有视图一起删除
四十. 创建存储过程
create or replace procedure 过程名(参数1 参数1类型,参数2 参数2类型) as 过程化sql块
四十一.执行存储过程
call/perform procedure 过程名(参数1,参数2)
四十三.重命名存储过程
alter peocedure 过程名1 rename to 过程2
四十四.重新编译一个存储过程
alter procedure 过程名 compile
四十五.删除存储过程
drop procedure 过程名()
sql sever基本语法总结的更多相关文章
- 数据库操作----找了MySQL和SQL Sever两个的基础语句
这是MySQL的基本操作: 1 登入数据库:mysql -uroot -p+密码 (SQL Sever登入: osql -U 用户名 -P 密码) 显示已存在的数据库:show databases; ...
- sql Sever的存储过程转换为mysql的
总体来说,sql sever和Mysql的存储过程的思路都是一样的,但是在语法和结构上还是有很大的区别的.1. 在mysql中写存储过程所有的dbo都要去掉.2. 每一个sql语句后面都需要加上:否则 ...
- SQL Sever查询语句集锦
一. 简单查询简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名为“ ...
- SQL Sever 学习系列之二
SQL Sever 学习系列之二 SQL Server 学习系列之一(薪酬方案+基础) 四.有关时间输出问题 select GETDATE() 日期时间 ----显示为:2013-07 ...
- SQL SEVER 2008中的演示样例数据库
SQL SEVER 2008数据库是什么我就不说了,我在这里分享一下怎样学习SQL SEVER 2008数据库,假设是对数据库或是SQL SEVER 数据库全然陌生或是不熟悉的人来说,建议看看一些视频 ...
- sql sever 2008基础知识
下面是一些总结,如果执行时发现错误,可以查看错误消息进行解决,也可上网查资料 数据库的组成: 主数据文件:有且只有一个,扩展名为.mdf. 次数据文件:可以没有,也可以有任意个.扩展名为.ndf. 日 ...
- SQL中部分语法整理
1.SELECT DISTINCT 语句 关键词DISTINCT用于返回唯一不同的值. 语法: SELECT DISTINCT 列名称 FROM 表名称 2.SELECT INTO语句 SELECT ...
- SQL Sever无法打开链接对话框,未将对象引用设置到对象的实例。(AppIDPackage)
前几天刚做完系统,先装的是SQL Sever2008,装完后还试了一下,OK~没问题,然后就继续装VS2012等一些软件.搞到很晚没有继续试试就睡了,第二天运行SSMS出问题了..(如图 1.0 所示 ...
- SQL server存储过程语法及实例(转)
存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程cr ...
随机推荐
- vue 路由部署服务器子目录问题
http://blog.csdn.net/hero82748274/article/details/73436497 <Egret 引擎入门> 这两天一直在查询vue经过打包后部署服务器一 ...
- 关于PHP 开启zlib gzip配置
一般有两种方法:一种是使用ob_start("ob_gzhandler") ,是开启php自带的zlib配置,这里要说的是后者,此两种方法只能选其一,否则会报错 一.打开php.i ...
- 【原创】区分png图片格式和apng图片格式的解决办法
最近公司有个项目,要抓取客户微信公众号的文章,以及文章内容中的图片,并且在图片加上客户自己的水印.我们使用阿里云OSS存储图片和加水印,发现真心好用,提升了我们的开发效率,阿里云现在是越来越强大了.. ...
- 在windows下进行Kafka单机测试
环境:win10 kafka版本:kafka_2.11-0.10.0.0 zookeeper版本:zookeeper-3.4.11 1. 开启zookeeeper server cmd下 : .\bi ...
- Spring+JTA+Atomikos+mybatis分布式事务管理
我们平时的工作中用到的Spring事务管理是管理一个数据源的.但是如果对多个数据源进行事务管理该怎么办呢?我们可以用JTA和Atomikos结合Spring来实现一个分布式事务管理的功能.了解JTA可 ...
- tone()函数的有趣的使用案例
tong()除了可以驱动蜂鸣器之外,还可以驱动步进电机(测试很好用) 一个引脚上产生一个特定频率的方波(%占空比).持续时间可以设定,否则波形会一直产生直到调用noTone()函数.该引脚可以连接压电 ...
- maven系列--maven常用命令
下一篇博客我会讲解用eclipse的m2插件来使用maven,这里先大概的了解下maven常用的命令.之后我在详细整理maven的生命周期,到时候会细致的讲解下这些指令应该要怎么使,maven都帮我们 ...
- IIS使用十大原则,(IIS过期时间,IIS缓存设置) 【转载】
1. 自定义错误页虽然自定义错误页很简单,但只有少数管理员有效地利用了它.管理员可以在MMC中将HTTP错误信息映像到服务器上的绝对URL或是某个文件,更为详细的信息可以在这里找到.如果你嫌这太麻烦, ...
- WMS—启动过程
基于Android 6.0源码, 分析WMS的启动过程. 一. 概述 Surface:代表画布 WMS: 添加window的过程主要功能是添加Surface,管理所有的Surface布局,以及Z轴排序 ...
- 【转】EI收录的中国期刊
ISSN 期刊名 0567-7718 Acta Mechanica Sinica 1006-7191 Acta Metallurgica Sinica (English Letters) ...