码迷,mamicode.com
首页 > 数据库 > 详细

MySQL数据库知识点

时间:2015-10-16 13:09:30      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

1.什么是数据库

就是一个文件系统,通过标准SQL语言操作文件系统中数据 ---- 用来存放管理软件系统的数据

2.什么是关系型数据库

关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。

3.where 和 having 条件语句的区别 ?

where 是在分组前进行条件过滤,having 是在分组后进行条件过滤

使用where地方都可以用 having替换 , 但是having可以使用分组函数,而where后不可以用分组函数

4.SQL语句分类 按功能(定义、操纵、控制、查询)分类

DDL 数据定义语言,定义表、库、视图

DML 对数据表记录 增加、修改和删除操作

DCL 授权、事务控制、条件判断

DQL (不是W3C组织 给出分类) 数据表记录查询

5.向数据表插入记录

语法:insert into 表名(列名,列名,列名...) values(值,值,值...);  为数据表的每列进行赋值

新建employee表,插入三个员工信息

@1 insert into employee(id,name,gender,birthday,entry_date,job,salary,resume)

values(1,‘zhangsan‘,‘male‘,‘1990-10-10‘,‘2010-01-01‘,‘sales‘,4000,‘good boy !‘);

@2 insert into employee values(2,‘lisi‘,‘male‘,‘1988-10-01‘,‘2008-08-17‘,‘hr‘,3500,‘good hr !‘);

@3 insert into employee(id,name,job,salary) values(3,‘wangwu‘,‘boss‘,20000);

6.数据记录更改操作

语法: update 表名 set 列名=值,列名=值.... where条件语句; 

update employee set salary = salary+1000 where name =‘wangwu‘;

7.数据记录的删除操作

语法:delete from 表名 where条件语句 ;

* 如果没有where语句,将删除表中 所有记录

delete from employee where name=‘zhangsan‘; 

8.如果使用delete删除表中所有记录和使用truncate table删除表中所有记录 有何不同 ?

truncate 删除数据,过程先将整个表删除,再重新创建

delete 删除数据,逐行删除记录

* truncate 效率要好于 delete

truncate 属于DDL ,delete 属于DML ======== 事务管理只能对DML 有效 ,被事务管理SQL语句可以回滚到SQL执行前状态

9.数据表记录的查询

语法一 : select [distinct] * | 列名,列名... from 表名; 
select distinct english from exam; 
语法二:select 表达式(列名执行运算) from 表名;

select name,chinese+math+english as 总分 from exam; 

语法三: select 列名 from 表名 where条件语句
select * from exam where chinese+math+english > 200;
语法四: select * from 表名 order by 列名 asc|desc ;  ---- asc升序 desc降序

select * from exam order by english desc,math desc;

10.聚集函数 指SQL语句中内置函数 ---------- 分组函数(用于统计)

1) count 统计查询结果记录条数 select count(*)|count(列名) from 表名; 

2) sum 统计某一列数据的和  select sum(列名) from 表名; 

3) avg 统计某一列平均值 select avg(列名) from 表名;

4) max 统计一列最大值 min 统计一列最小值

11.使用ifnull函数处理 null情况

select sum(ifnull(chinese,0)+ifnull(math,0)+ifnull(english,0)) from exam;  含有刘备英语和数学成绩

12.关键字like

like ‘模糊查询pattern‘ 进行模糊查询 ,表达式有两个占位符 % 任意字符串 _ 任意单个字符 例如: name like ‘张%‘ 所有姓张学员 

name like ‘张_‘ 所有姓张名字为两个字学员

MySQL数据库知识点

标签:

原文地址:http://www.cnblogs.com/xumaodun/p/4884894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!