SQL 指结构化查询语言
SQL 使我们有能力访问数据库
SQL 是一种 ANSI 的标准计算机语言
存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)
SQL 对大小写不敏感!
SQL 可从数据库取回数据
SQL 可在数据库中插入新的记录
SQL 可更新数据库中的数据
SQL 可从数据库删除记录
SQL 可创建新数据库
SQL 可在数据库中创建新表
SQL 可在数据库中创建存储过程
SQL 可在数据库中创建视图
SQL 可以设置表、存储过程和视图的权限
--------------------------------------------------------------------------------------------------------------------------------------------------------
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
数据操作语言 (DML)---主要是查询和更新
- SELECT - 从数据库表中获取数据
- UPDATE - 更新数据库表中的数据
- DELETE - 从数据库表中删除数据
- INSERT INTO - 向数据库表中插入数据
数据定义语言 (DDL)---主要是创建、删除、增加索引、键、约束
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
select语句基本使用(包括where、and/or 、order by 、top、like、between、通配符)
Select基本语句:
基本语法 :
select 列名 from 表名
select * from 表 : 表示查询表中所有列,所有列用’ * ’ 代替
条件查询 :
查询Student表中年龄大于20的相关信息 用where指明条件
select *
from Student
where sage>=20
and: 表示条件且
or: 表示条件或
between…and :在…范围之内
select * //查询年龄在19-20的学生信息
from Student
where sage between 19 and 20
in ==or
select * from Student//查询年龄的学生
where sage in(19,20)
is
当判断表中的值是否为空时,不可以用==NULL 或者<>NULL,只可以用is NULL或者 is NOT NULL来判断
Distinct:
从返回的结果数据集合中删除重复的行
查询S_T数据库中Student表中年龄,但是不能有重复的
use S_T
select distinct sage
from Student
order by sage
go
使用like子句进行模糊查询
like子句与通配符配合使用。Sqlserver提供4种通配符
1.%:表示任意字符
2. _:表示单个任意字符
3.[ ]:表示方括号里列出的任意一个字符.
4.[^]:表示任意一个没有在方括号里列出的字符.
基本语法: select 字段名 from 目标表 where 字段名 like 条件
TOP关键字
top:关键字用于指定只返回前面一定数量的数据.
top n :表示返回最前面的n行.'
select top 3 * //查找薪水最高的前三条员工记录。
from employee
order by salary desc;
排序查询
order by排序:asc升;desc降,默认升序
示例:
按照出生年份升序显示所有学生的学号、姓名、性别、出生年份及院系,在结果集中列标题分别指定为“学号,姓名,性别,出生年份,院系”
use S_T
select sno 学号,sname 姓名,ssex 性别,
sage 年龄,sdept 院系
from student
order by sage;
按照“性别、学号、姓名、年龄、院系”的顺序列出学生信息,其中性别按以下规定显示:性别为男显示为男 生,性别为女显示为女 生,其他显示为“条件不明”;
use S_T
select 性别= case
when Ssex='男' then '男生'
when Ssex='女' then '女生'
else '条件不明'
end,
sno 学号,sname 姓名,Sage 年龄,Sdept 院系
from Student;
--------------------------------------------------------------------------------------------------------------------------------------------------------