当前位置:文档之家› SQL常用语句大全

SQL常用语句大全

-------安装环境 SQL Server Management Studio 推荐使用SQL2008 -----(SQL)从入门最基础开始

-----搭配环境 Microsoft Visual Studio 2008 可以做出各类牛X软件

---------创建一个简单的数据库:属性用默认值

create database stu

--------创建一个包含一个主要数据文件,一个次要数据文件,一个日志文件create database stu1

on primary-----------------默认主要数据文件要放在主要文件组

(

name=stu_data,

filename='d:\stu11.mdf',------主要数据文件

size=5,

maxsize=100, бfilegrowth=1

),-----------主要数据文件和次要数据文件要有逗号

(

name=stu_data1,

filename='d:\stu12.ndf',

size=3,

maxsize=unlimited,

filegrowth=10%

)

--------------日志文件与数据文件之间没有逗号

log on

(

name=stu_data2,

filename='d:\stu13.ldf',

size=5,

maxsize=unlimited,

filegrowth=2

)

--------------

create database员工管理数据库

on primary

(

name='员工',

filename='d:\员工.mdf',

size=5

),

(

name='员工',

filename='d:\员工.ndf',

size=5,

maxsize=unlimited,

filegrowth=1

)

log on

(

name='员工',

filename='d:\员工.ldf'

)

-------------查看数据库的信息

exec sp_helpdb---------查看所有数据库的信息

exec sp_databases

------查看指定数据库

exec sp_helpdb stu1

----查看数据文件的信息(在当前数据库下)

use stu1

exec sp_helpfile

exec sp_helpfile stu_data

------查看文件组信息

exec sp_helpfilegroup

----------------修改数据库

create database xiugai

on primary

(

name=xiugai1,

filename='d:\xiugai1.mdf',

size=5,

maxsize=100,

filegrowth=1

)

log on

(

name=xiugai2,

filename='d:\xiugai2.ldf'

)

use xiugai

exec sp_helpfile

----------增加一个数据文件

alter database xiugai

add file

(

name=xiugai3,

filename='d:\xiugai3.ndf'

)

-------------增加一个日志文件

alter database xiugai

add log file

(

name='xiugai4',

filename='d:\xiugai4.ldf'

)

----------------增加一个文件组

alter database xiugai

add filegroup abc

exec sp_helpfilegroup

------------增加一个数据文件放入指定的文件组

alter database xiugai

add file

(

name=xiugai5,

filename='d:\xiugai5.ndf'

)to filegroup abc

exec sp_helpfilegroup

-------------移除文件组

alter database xiugai

remove file xiugai5

alter database xiugai

remove filegroup abc

-------------修改文件的属性值

alter database xiugai

modify file

(

name='xiugai3',

maxsize=100

)

exec sp_helpfile

------------修改数据库的名称

exec sp_renamedb'xiugai','xiugai1'

-----------删除数据库

drop database xiugai1

---------------数据类型

create database数据类型

use数据类型

---------整型

create table整型

(

big bigint,

int_n int,

small smallint,

tiny tinyint

)

SELECT*FROM整型

insert into整型values(100,1500,200,20)

insert into整型values(100,1500,200,255)

insert into整型values(100,1500,200,256)---发生数据类型tinyint 的算术溢出错误

insert into整型values(100,1500,200000,255)

-------------浮点型

create table浮点

(

fl float,

re real,

de decimal(5,2),

nu numeric(6,2)

)

select*from浮点

insert into浮点values(2.3,15.2,123.12,1234.12)

insert into浮点values(2.3,15.2,123.1269,1234.1242)---四舍五入

insert into浮点values(2.3,15.2,1231.12,1234.12)--将numeric 转换为数据类型numeric 时出现算术溢出错误。

------------------字符型

create table字符

(

char_n char(6),

varchar_n varchar(6),

text_n text,

nch nchar(6),

nvar nvarchar(6),

nt ntext

)

select*from字符

insert into字符values('a','r','w','f','r','y')

insert into字符values('中国人','中国人','w','中国人民万岁','r','y')

insert into字符values('中国人民','中国人','w','中国人民万岁','r','y')--将截断字符串或二进制数据。

-----------1、char \varchar区别(固定空间\可变空间)

----------2、char\nchar区别:输入汉字时,nchar为双字节

-------------------日期与时间

型:datetime(1753-9999),smalldatetime(1900-2079):要单引号create table日期

datetime_n datetime,

small smalldatetime

)

select*from日期

insert into日期values (2008-08-08,2010-12-4)

insert into日期values ('2008-08-08 20:08:00','2010-12-4')

--------------------------货币类型:money,smallmoney

create table货币

(

mo money,

small smallmoney

)

select*from货币

insert into货币values(200.5,300)

insert into货币values($200,$300)

insert into货币values(¥,¥)

----------------二进制型:binary,varbinary,image(图像)

-------------------特殊:sql_variant(万能):除了二进制类型和text类型

create table特殊

(

mn sql_variant

)

select*from特殊

insert into特殊values(200)

insert into特殊values(200.56)

insert into特殊values('aa')

insert into特殊values('2008-5-8')

insert into特殊values(200)

----------建表加约束

create database student

use student

create table t_student

(

sno char(10),

sname varchar(10),

ssex char(4),

sage int,

sdep char(20),

sphone char(15)

)

select*from t_student

insert into t_student values('01','张三','男',25,'软工

','110')

insert into t_student values('01','张三feng ','猫',2588,'软工','110')

-------------添加约束:保证数据的完整性

drop table t_student

--------------第一种加约束的方法

create table t_student

(

sno char(10)primary key,------主键约束:具有唯一性,他能够决定一条记录,不能为空

sname varchar(10)not null,----非空约束

ssex char(4)check(ssex='男'or ssex='女')default'男',----检查约束:范围

sage int check(sage>=0 and sage<=150),

sdep char(20),

sphone char(15)unique,-----唯一约束

)

select*from t_student

insert into t_student values('01','张三','男',25,'软工

','110')

insert into t_student values('01','张三','男',25,'软工

','118')-----违反了主键约束

insert into t_student values('02','张三风','猫',25,'软工','118')-----违反了检查约束

insert into t_student values('02','张三风','男',2500,'软工','170')----违反了检查约束

insert into t_student values('02','聂英鹏','男',25,'软工','110')-----违反了唯一约束

insert into t_student values('02','聂英鹏',default,25,'软工','119')-----验证默认约束

insert into t_student values('03',null,'男',19,'网工

','150')----违反了非空约束

insert into t_student values('03','张浩','男',19,'网工

','150')

----------查看所有约束

exec sp_helpconstraint t_student

-----------------第二种加约束的方法

drop table t_student

create table t_student

(

sno char(10),

sname varchar(10)not null,----非空约束

ssex char(4)default'男',

sage int,

sdep char(20),

sphone char(15),

constraint pk primary key(sno),

constraint ch_ssex check(ssex='男'or ssex='女'),

constraint ch_age check(sage>=0 and sage<=150), constraint un unique(sphone)

)

exec sp_helpconstraint t_student

----------------第三种方法

drop table t_student

create table t_student

(

sno char(10),

sname varchar(10),

ssex char(4),

sage int,

sdep char(20),

sphone char(15),

)

exec sp_helpconstraint t_student

-----修改表加约束

--------------加主键约束

------先修改列的属性:非空

alter table t_student

alter column sno char(10)not null--------非空约束

alter table t_student

add constraint pk1primary key(sno)

----------加检查约束

alter table t_student

add constraint ch_ssex check(ssex='男'or ssex='女')

alter table t_student

add constraint ch_age check(sage>=0 and sage<=150)

-----------加唯一约束

alter table t_student

add constraint un unique(sphone)

---------加默认约束

alter table t_student

add constraint de default'男'for ssex

-------------外键约束:确保两个表中的数据的一致性

select*from t_student

insert into t_student values('01','张三','男',25,'软工

','110')

insert into t_student values('02','聂英鹏','男',21,'软工

','119')

insert into t_student values('03','王鹏','男',17,'软工','17')

insert into t_student values('04','李书豪','男',22,'网工

','11045')

insert into t_student values('05','溜溜','女',20,'软工

','110777')

----课程表

create table course

(

cno char(10)primary key,

cname varchar(20)-------------课程名字

)

insert into course values('01','网站开发')

insert into course values('02','C语言')

insert into course values('03','JSP')

insert into course values('04','JAVA')

insert into course values('05','C#')

select*from course

-------------学生成绩表

create table t_score

(

sno char(10),

cno char(10),

score real check(score>=0 and score<=100),

constraint pkk primary key(sno,cno),---------------联合主键

constraint fk1foreign key(sno)references t_student, constraint fk2foreign key(cno)references course

)

insert into t_score values('01','01',98)

insert into t_score values('01','02',78)

insert into t_score values('02','01',100)

insert into t_score values('02','03',75)

select*from t_score

insert into t_score values('10','01',98)----违反了外键约束insert into t_score values('01','09',98)----违反了外键约束

select*from t_student

select*from t_score

select*from course

-------------------------修改表

------------------ 删除约束

alter table t_student

drop constraint de

exec sp_helpconstraint t_student

---------------修改表的结构

create table员工表

(

employ_no char(5)primary key,

em_name varchar(10),

em_ssex char(4)check(em_ssex='男'or em_ssex='女')

)

select*from员工表

-----查看表的结构

exec sp_help员工表

------增加一列

alter table员工表

add em_age int

alter table员工表

add constraint uu check(em_age>=0 and em_age<=150) exec sp_helpconstraint员工表

--------------修改列的属性值:column

alter table员工表

alter column em_name char(20)

------------删除列:column

alter table员工表

drop constraint uu

alter table员工表

drop column em_age

-----------修改列的名字

exec sp_rename'员工表.em_name','姓名'

alter table员工表

drop constraint CK__员工表__em_ssex__2E1BDC42

exec sp_rename'员工表.em_ssex','性别'

alter table员工表

add constraint xingbie1check(性别='男'or性别='女')

---------------数据操作

--------向数据表中增加数据

select*from t_student

-----1 全部增加信息:按列的顺序增加

insert into t_student values('06','刘小慧','女',19,'动画','1111')

------2、增加部分内容:sno,sname,sphone,ssex

insert into t_student(sno,sname,ssex,sphone)

values('07','qq','男','123456')

---------修改数据表中的数据

------1、修改整列信息

update t_student set sage=sage+1

-------2、按条件修改信息: where

update t_student set sage=25

where sno='07'

----------删除数据表中的数据

-------1、按条件删除数据

delete from t_student

where sno='07'

-------2、删除全部数据

----drop table t_score

delete from t_student

/*建员工表,如上图

*/

create table员工表

(

员工号char(10)primary key,

姓名nchar(10),

职务nchar(10),

工资money,

部门nchar(5)

)

------1、插入一条信息:员工号004;姓名赵方;部门财务

insert into员工表values('001','张三','程序员',3000,'软件研发

部')

insert into员工表(员工号,姓名,部门)values('002','赵方','财务')

select*from员工表

-----2、删除员工号是的信息

delete from员工表

where员工号='002'

----3、更新数据:把部门为软件开发的员工信息工资涨

update员工表set工资=工资+1000

where部门='软件研发部'

----4、把员工号为:的信息,工资设为

update员工表set工资=2500

where员工号='001'

------------------------查询(不影响表的内容)

-----------简单查询

-------查询所有内容

select*from t_student

select sno,sname,ssex,sage,sdep,sphone from t_student SELECT sno,sname,ssex,sage,sdep,sphone FROM t_student

------查询指定列的内容

select sno,sname,sphone from t_student

------------查询前几行或前百分比的数据:top

select top 2 *from t_student

select top 2 sno,sname,sdep from t_student

select top 20 percent*from t_student

select top 20 percent sname,sphone from t_student

----请检索出-4行的信息:嵌套查询

select top 2 *from t_student

where sno not in(select top 2 sno from t_student)

--------------distinct:去除重复的信息

select*from t_student

select distinct sdep from t_student

---------------WHERE :条件子句

------算术运算符,赋值

相关主题
文本预览
相关文档 最新文档