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 ...
随机推荐
- window.top.location.href 和 window.location.href 的区别
window.location.href 是本页面跳转 window.top.location.href是最外层的页面跳转
- 微信小程序版2048
最近流行微信"跳一跳"小游戏,我也心血来潮写了一个微信小程序版2048,本篇文章主要分享实现2048的算法以及注意的点,一起来学习吧!(源码地址见文章末尾) 算法 1.生成4* ...
- JDK、JRE、JVM详解
JDK.JRE.JVM JDK包含JRE,而JRE包含JVM JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE.Java ...
- 单词拼写检查之cutoff距离
前言 cutoff是一个比较冷门的概念,相比于DP经典算法的编辑距离,cutoff距离只局限于自然语言处理领域.提出cutoff距离的起因很简单,因为经典的编辑距离无法很好地衡量在字符串搜索过程中的编 ...
- assembly 基础
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- Linux安装mysql 在/etc下没有my.cnf 解决办法
进入 /usr/share/mysql 将my-medium.cnf 移动到etc 并且改名为my.cnf
- javascript函数创建
函数声明 function add(a,b){ return a+b } 函数表达式 <!--一般函数表达式--> var add = function(){ } <!--立即声明函 ...
- eclipse启动报错the catalog could not be loaded please ensure that you have network access and if needed have configured your network proxy
搜索关键词不对在网上查了一圈没找到合适的解决办法 去看报错的日志文件 然并卵.不过下面有个config.ini,想着以前能用现在不能用,肯定是配置问题,打开该文件 转载请注明出处http://www. ...
- discuz数据库相关表
discuz 数据表对照cdb_access 用户权限表 cdb_adminactions 管理动作表cdb_admingroups ...
- jdbc与java.sql
JDBC连接操作数据库流程:1.将数据库驱动jar包放在lib文件夹下. 2.定义驱动名(driver),数据库url,username,password字符串常量 3.注册数据库驱动Class.fo ...