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 ...
随机推荐
- Linux包管理器
按Linux系统分类 Redhat系列:Redhat(本身就是Centos).Centos.Fedora等,采用Dpkg包管理器 Debian系列:Debian.Ubuntu等,使用RPM包管理器 R ...
- jQuery:下拉列表的联动
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
- qq客服代码实现过程
引入css,jsimages,将index.html中的qq聊天代码部分和返回顶部-部分放在head.html文件中, 将文中圈中部分删除,否则影响整个页面的样式:
- Node.js/Vue环境搭配安装
http://blog.sina.com.cn/s/blog_497ff1a70102x0sw.html 第一次接触Node.js,想创建自己的服务就须配置好Node.js环境 安装Node.js 下 ...
- 【编程技巧】 iOS 5的StoryBoard(故事板)的一些用法
从StroyBoard得到一个View UIViewController *viewController = [[UIStoryboard storyboardWithName:@"Main ...
- 【开发技术】视频URL采集
http://www.joyplus.tv/joypluscms 志精
- Python---socketserver
为方便以后学习和查询,特从socketserver架构.源码分析和案例三方面进行总结 1. Python之socketserver架构 2. Python之socketserver源码分析(一) 3. ...
- myeclipse环境搭建
公司来了几个新人,老是在教他们环境搭建这些,每次在帮他们调试代码的时候老是不厌其烦的看着他们坐等myeclipse编译了,校验了什么的,而且在编码的时候也不使用快捷键,然后我就只能默默的坐回去了.为了 ...
- 号外号外!解决github+hexo+yilia评论插件的问题!!!
先走一波效果图! 本人网站--http://www.wenzheng.club/ ps:效果还是不错的,支持QQ微信登录,支持表情,甚至gif动图评论! 插件采用韩国服务器的来必力评论插件--h ...
- lvs_nat
nat模式环境模拟 1.实验环境概览 192.168.1.186 192.168.75.131 双网卡 dir 调度器(vip) ipvsadm,双网卡 192.168.1.185 单网卡 rs1 真 ...