SQL server总结 • 【第4章 输出,数据库语句,表语句,子查询,连接查询】

全部章节 >>>>


01. 输出

单列输出:select 数据1
多列输出:select 数据1,数据n
查询约束:select * from SYS.OBJECTS

  • 查询约束名称:SELECT NAME from SYS.OBJECTS WHERE TYPE_DESC =‘PRIMARY_KEY_CONSTRAINT’ AND
    PARENT_OBJECT_ID = (SELECT OBJECT_ID
    FROM SYS.OBJECTS WITH(NOLOCK) WHERE NAME = ‘表名’)

02. 数据库语句

创建数据库:create database 数据库名

选择数据库:use 数据库名

用来表示事物结束,提交并确认结果:go

  • 批处理语句是自上一GO命令后输入的所有语句
  • 若是第一条GO命令,则是从开始到这条GO命令之间的所有语句

查看所有数据库:show databases

查看数据库中所有表:show tables

03. 表语句

创建新表:create table 表名(列名1 类型1,列名n 类型n,[constraint 约束名] 约束(列名) )

  • 主键:primary key
  • 非空:not null
  • 唯一索引:unique
  • 自定义约束:check
  • 关联:references
  • 自动计算字段:as

sp语句

  • 查看表结构:sp_help 表名
  • 修改列名:EXEC sp_rename ‘表名.原列名’, ‘新列名’, ‘column’

alter语句

  • 添加列:alter table 表名 add 列名 类型 约束
  • 添加列并赋默认值:添加列语句 default 值 with values
  • 删除列:alter table 表名 drop column 列名
  • 修改字段类型:alter table 表名 alter column 列名 类型 约束
  • 添加约束:alter table 表名 [add constraint 约束名] 约束(列名)
  • 删除约束:alter table 表名 drop constraint 约束名

04. 子查询:也叫嵌套查询,外部的叫外围查询,内部的叫子查询

注意:

  • 可以嵌套
  • 不能使用 image, text, ntext数据类型、不能使用order by 子句
  • 返回结果的数据类型必须与外围查询where语句的数据类型匹配

exists - not exists用法

  • exists:非空时,返回true;空时返回false
  • not exists:取exists的反

05. 连接查询:实现多个表查询操作

概念

  • 根据两个表或多个表的列之间的关系,从这些表中查询数据

连接格式

  • select * from 连接表名 连接类型 连接表名 ON 连接条件

内连接inner join

  • 等值连接=:列出被连接表中的所有列,包括其中的重复列
  • 不等连接、除=外的运算符:列出符合运算符的连接,重复列出

外连接:如没匹配行,则返回空值

  • 左外连接left outer join:返回左表中的所有行,和右表中的匹配行
  • 右外连接right outer join:返回右表中的所有行,和左表中的匹配行
  • 全外连接full outer join:返回左右表中的所有行,和左右表中的匹配行

交叉连接cross join:也称笛卡尔积、后面加条件只能用where,不能用on

  • 不带where:将会返回两个表的笛卡尔积,行数为两个表行数的乘积
  • 带where:往往会先生成笛卡尔积,再根据where条件选择
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值