sql数据库(基础)


创建数据库

create database 数据库名称

创建表

Create table 表名

字段1  数据类型 【属性 约束】,

字段2 数据类型【属性 约束】,

……..

Primary key  主键             unique  唯一键

References   外键             not null 不为空

Check  检查

Default  默认约束

Identity  标识

数据管理(增删改查)

 

1.添加数据

Insert into 表名 【列名】values (值)

例:

insert into sui2(Id,Name,Di)values(111,'李三','武汉')

insert into Sui2 values (112,'','河南')

2.修改数据

Update 表名 set  列名=更新值  【where 条件表达式】

例:

update Sui2 set Name ='' ,Di='上海' where Id=111

3.删除数据

Delete from 表名 [where 条件表达式]

例:

delete from Sui2 where Id=112

4:查询

Select 列名 from 表名 【where 条件表达式】

例:

select*from Sui2

 

数据查询

1. --设置别名语法三种;

select StuID as 学号,

姓名=StuName ,

StuSex 性别    from StuInfo

2.--字段计算

select StuName + StuSex as '姓名-性别'  from StuInfo

3--过滤重复信息distinct

select distinct StuScore  from StuMark

4 --查询前n 行信息top n

select top 3 * from StuMark

select top 30 percent * from StuMark

5 --比较运算符大于> 小于<不等于<>  不大于!> 不小于!<

select * from StuMark where StuScore>80

select * from StuMark where StuScore >70 and StuScore <100

6--范围运算符between and

select * from StuMark where StuScore between 70 and 100

7--列表运算符 in

select * from StuMark where StuID in(1,3,5)

8 --模式通配符like 四种情况&/_/[]/[^]

select * from StuInfo where StuName like '%'

select * from StuInfo where StuName like '_'

select * from StuInfo where StuName like '[^下落]'

9 --降序

select * from StuMark order by StuScore desc

10 --按照数学对分数进行排序

select * from StuMark where StuSub ='数学' order  by StuScore desc

11--查询前三名的成绩

select top 3 * from StuMark where StuSub ='数学' order  by StuScore desc

12 --对多列进行排序

select * from StuMark order by StuScore desc,StuID asc

13 --求和sum、平均值avg、最大值max、最小值min、行数count

select sum(StuScore)  数学总和值 from StuMark

select avg(StuScore)  数学平均值 from StuMark

select max(StuScore)  数学最大值,min(StuScore) 最小值 from StuMark

select count(*)  行数 from StuMark

连接查询

1内部连接查询

Select 字段列表 from 表1  inner join  表2  on 条件表达式1  inner join 表3  on  条件表达式2…..

2外表连接查询

左连接查询:Select 字段列表  from 表1  left 【outer】join  表2   on 条件表达式

右连接查询:Select 字段列表  from 表1  right 【outer】join  表2   on 条件表达式

3交叉连接(产生大量测试数据)

Select count(*) from  表1  cross join  表2