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 ...
随机推荐
- Spark算子--first、count、reduce、collect、lookup
转载请标明出处http://www.cnblogs.com/haozhengfei/p/4b8582c8dde1529abb11e4ccc8296171.html first.count.reduce ...
- SSM手把手整合教程&测试事务
自打来了博客园就一直在看帖,学到了很多知识,打算开始记录的学习到的知识点 今天我来写个整合SpringMVC4 spring4 mybatis3&测试spring事务的教程,如果有误之处,还请 ...
- php匹配图片、视频文件、音乐文件的正则表达式
$pattern_video = "/(src)=(\\\?)([\"|']?)([^ \"'>]+\.(swf|flv|mp4|rmvb|avi|mpeg|ra| ...
- 在MAC电脑上抓取iphone数据包的方法
一.说明: 1.整个抓包操作的过程中,手机必须一直通过USB链接MAC电脑 2.手机系统要求在IOS5以上,因为使用的RVI技术在IOS5以后的系统中才有 3.抓包过程中,手机可以使用任何网络2G.3 ...
- 智能家居esp8266对接机智云
依然存在稳定性问题 机智云官网--机智云 一个比较详细的教程--esp8266 一开始采用的是esp12f 可是他太不稳定,总是掉线,机智云的固件我也是刷了无数遍,哎太难了. 我比较懒,走过了太多 ...
- 重温MFC
1. Button控件 2. 旋转和高级编辑控件 3. 标签控件和属性页 4. 列表控件 5. 树控件 6. 进度条控件和滑动条控件 7. 滚动条 8.工具栏和状态栏
- Linux或Window是修改snmp的默认端口
SNMP默认端口通讯使用 UDP 161,在安装一些监控软件的过程中,常常提示端口被占用等情况,下面说一下如何修改系统的默认SNMP端口 windows修改snmp端口 1 打开services文件 ...
- linkin大话数据结构--Collections类
操作集合的工具类:Collections Collections 是一个操作 Set.List 和 Map 等集合的工具类.Collections 中提供了大量方法对集合元素进行排序.查询和修改等操作 ...
- 时间转换与星期推算(Matlab版)
1 概述 最近在学习GPS解算算法时需要在GPS时(GPS周和周内秒)和公历日期之间进行转换,于是就整理了一些时间转换的小程序. 本文介绍了GPS时.公历.儒略日(JD).简化儒略日(MJD)之间的转 ...
- Tomcat8远程访问manager,host-manager被拒绝403
Tomcat部署在服务器之后在服务器本地访问manager和host-manager成功(即127.0.0.1:8080或者localhost:8080),但使用测试主机访问tomcat的manage ...