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 ...
随机推荐
- 关于PHP 开启zlib gzip配置
一般有两种方法:一种是使用ob_start("ob_gzhandler") ,是开启php自带的zlib配置,这里要说的是后者,此两种方法只能选其一,否则会报错 一.打开php.i ...
- 【JDBC】Java 连接 MySQL 基本过程以及封装数据库工具类
一. 常用的JDBC API 1. DriverManager类 : 数据库管理类,用于管理一组JDBC驱动程序的基本服务.应用程序和数据库之间可以通过此类建立连接.常用的静态方法如下 static ...
- jQuery 表单
1.一般输入信息的提示用<span> 属性为text 2.<input>只有设置了 name 属性的表单元素才能在提交表单时传递它们的值. 3.blur 失去焦点 4.$. ...
- CSS3 [attribute^=value] 选择器
设置 class 属性值以 "test" 开头的所有 div 元素的背景色: div[class^="test"] { background:#ffff00; ...
- java连接mysql以及增删改查操作
java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺.直接上代码: (温馨提醒:你的项目提前导入连接数据库的jar包才有的以下操作 ) class DBConnectio ...
- Failed to connect to VMware Lookup Service……SSL certificate verification failed
今天登陆vsphere web-client时候,报错如下: Failed to connect to VMware Lookup Service https://vc-test.cebbank.co ...
- JAVA中比较两个文件夹不同的方法
JAVA中比较两个文件夹不同的方法,可以通过两步来完成,首先遍历获取到文件夹下的所有文件夹和文件,再通过文件路径和文件的MD5值来判断文件的异同.具体例子如下: public class TestFo ...
- JS获取滚动条距离顶部高度
一.jQuery获取的相关方法 jquery 获取滚动条高度 获取浏览器显示区域的高度 : $(window).height(); 获取浏览器显示区域的宽度 : $(window).width(); ...
- 八大排序算法Java实现
本文对常见的排序算法进行了总结. 常见排序算法如下: 直接插入排序 希尔排序 简单选择排序 堆排序 冒泡排序 快速排序 归并排序 基数排序 它们都属于内部排序,也就是只考虑数据量较小仅需要使用内存的排 ...
- encodeURI()和encodeURIComponent()
encodeURI() 返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换. 说明 该方法会替换所有的字符,但不包括以下字符,即使它们具有适当的UTF-8转义序列: 保留 ...