SQL基础

一、增删改表中数据

--增加数据
insert into 表名(列名1,列名2,...,列名n) values(1,2,...,值n)    
insert into 表名 values(1,2,...,值n) -- 如果表名后不定义列名,则默认该所有列添加值 
--删除数据
delete from 表名 [where 条件] -- 如果不添加条件,则删除表中所有记录
--修改数据
update 表名 set1 =1,2 =2,...,列n = 值n where 条件

二、查询语句

--去重查询
selectfrom 表名 distinct
--排序查询
order by 排序字段1 排序方式1,排序字段2 排序方式2...
	--排序方式默认为ASC —— 升序,也可指定为DESC —— 降序
--分组查询
group by 分组字段 -- 分组之后查询的字段:分组字段,聚合函数
	wherehaving 的区别?
	where在分组之前进行限定,如果不满足条件,则不参与分组,后面不可以跟聚合函数
	having在分组之后进行限定,如果不满足结果,则不会被查询出来,后面可进行聚合函数判断

三、链接查询

Ⅰ. 内连接查询
--隐式内连接:使用where条件消除无用数据
    语法:select 字段列表 from 表列表 where 条件
--显式内连接:
    语法:select 字段列表 from1 [inner] join2 on 条件 -- inner可省略
--内连接查询:
    1. 从哪些表中查询数据
    2. 条件是什么
    3. 查询哪些字段
Ⅱ. 外链接查询
--左外连接:
    语法:select 字段列表 from1 left [outer] join2 on 条件 -- outer可省略
    查询的是表1(左表)所有数据以及其交集部分
--右外连接:
    语法:select 字段列表 from1 right [outer] join2 on 条件 -- outer可省略
    查询的是表2(右表)所有数据以及其交集部分
Ⅲ. 子查询
--概念:查询中嵌套查询,称嵌套查询为子查询
	例如:查询表1中工资最高的员工的信息
        select * from1 where Salary = (select max(Salary) from1)
--子查询的不同情况
    1.子查询的结果是单行单列的:
        子查询可以作为条件,使用运算符去判断。 运算符:> >= < <= =
    2.子查询的结果是多行单列的:
        子程序可以作为条件,使用预算符in来判断
    3.子查询的结果是多行多列的:
		子查询可以作为一张虚拟表参与查询

四、建表与操作约束

create table  Department{
    DepartmentID int primary key, -- 添加主键约束
    Name varchar(50) not null -- 设置非空约束
}

create table Student(
    ID int primary key identify(1,1), -- 添加主键约束,并设置自增(起始增量都为1)
    Gender varchar(1) not null default('M') check(Gender = 'M' or Gender = 'F'), --添加非空约束,并添加Check约束(Gender要么为'M',要么为'F'),并添加默认约束(Gender默认为'M')
    CardID varchar(18) unique key, -- 设置唯一约束
   DepartmentID int references Department(DepartmentID) -- 设置外键约束
)

--添加约束
    alter table 表名 add constraint 约束名 
    primary key () -- 主键约束
    unique () -- 唯一约束
    default() for () -- 默认约束
    check(条件) -- 检查约束
    foreign key() references 外键表(外键列) -- 外键约束
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值