SQL基本知识学习和优化
来源:互联网 发布:软件使用手册标准 编辑:程序博客网 时间:2024/06/06 00:45
学习数据库之前 先了解几个基本概念
SQL 结构化查询语言
DBMS 数据库管理系统
数据模型包括三个要素:数据结构,数据操作,数据完整性
数据定义语言(DDL)
1:创建表
create table 表名{
列名1 数据类型和长度 属性,
。。。。。。。。。。
列名n 数据类型和长度 属性,
}
2:修改表
a:添加字段
Alter table 表名 add 列名 数据类型和长度 列属性
b:修改列属性
Alter table 表名 Alter column 列名 新数据类型和长度 新属性
c:删除列
Alter table 表名 drop column 列名
3:删除表
Drop table 表名
除了表 还有视图和索引
数据操作语言(DML)
1:插入数据
insert into 表名(列名1,。。。,列名n) values(值1,。。。。,值n);
当插入整条数据列名可以省略
2:更新数据
update 表名 set 列名1=值1,。。。。,列名n=值n where 更新条件语句
注意
当没有where条件的时候 采用更新语句 将会使整张表的属性多改变
3:删除数据
delete 表名 where 删除条件
select 语句
select (子句) [into 子句] from 子句 where (子句) [ grroup by 子句] [ having 子句] [order by 子句] [union 运算符]
a:显唯一数据
select distinct 列名 from 表名
b:显示列标题
select 列名 as ' ' from 表名
c:对结果集进行排序
select * from 表名 order by 列名 desc 或asc
d:条件查询
select * from 表名 where 查询条件
e:统计函数
select count(*) from 表名
f:分组统计
select 列名1,。。。,列名n from 表名 group by 列名
select 列名1,。。。,列名n from 表名 where 条件 group by 列名 但是值的注意的是where子句中是不能包含聚合函数的 此时改成having
select 列名1,。。。,列名n from 表名 group by 列名 having 查询条件
h:union
select e.emp_name,e.title,d.dep_name from employee e,department d where e.dep_id=d.dep_id;其中e和d是表别名
select e.emp_name,e.title,d.dep_name from employee e inner join department d on e.dep_id=d.dep_id; 内连接
优化select原则
1;正确使用索引
2:避免死锁
3:尽量少用select * from 表名 避免返回不需要的列
4:设置where条件 只返回需要的结果
5:使用top 限制返回记录数量
6:在where 中 使用 like,应注意通配符的使用
7:慎用unioin 影响查询效率
8:慎用distinct 查询时过滤重复记录 影响系统资源和浪费时间
9:少使用视图
10:where 中少用in 可以选择between
11:少用group by
12:where 条件中少用函数
13:对同一数据进行操作很频繁时,可以创建临时表
14:需要对数据进行统计 尽量不要在查询时 采用统计函数 可以在表中 添加一个字段
15:判断表中是否有记录 可以采用exists 而不使用count()
- SQL基本知识学习和优化
- html基本知识和网站seo优化
- html基本知识和网站seo优化(续)
- 数据库索引 和 MySQL数据库优化基本知识
- SQL基本知识
- sql 基本知识
- SQL基本知识
- SQL基本知识
- SQL基本知识
- SQL 基本知识
- SQL基本知识
- SQL基本知识
- sql基本知识
- SQL优化 ,慢慢学习
- sql优化学习
- SQL优化学习建议
- SQL优化学习目录
- sql优化学习 主章
- OK6410汇编程序练习
- 启动代码的分析之ADR,LDR辨析
- HDU 3639 强连通缩点优化
- 《大话数据结构》读书笔记(二)
- 我喜欢回忆
- SQL基本知识学习和优化
- 发送邮件并可以添加附件
- Nand flash实验
- iphone 路径
- codeforces 107B Basketball Team
- C++学习笔记(-)
- 单图处理的接口函数 Process_Plus
- 邮件发送
- Centos 5.8安装flash player