MYSQL必知必会笔记

1、什么是数据库
数据库是一个以某种有组织的方式存储的数据集合
(人们通常用数据库这个术语来代表他们使用的数据库软件,这是不正确的。数据库软件应称为DBMS(数据库管理系统),数据库是通过DBMS创建和操纵的容器)
表(table)是某种特定类型数据的结构化清单
(数据库中的每个表都有一个名字,用来标识自己,此名字是唯一的)
模式(schema)关于数据库和表的布局及特性的信息
列(column)表中的一个字段。正确的将数据分解成多个列很重要。每个列都有相应的数据类型,用来定义列可以存储的数据种类
行 表中的数据是按行存储的,所保存的每个记录存储在自己的行内
主键(primary key)一列(或一组列),其值能够唯一区分表中的每一行
    注意:1、任意两行都不具有相同的主键值 2、每个行都必须具有一个主键值(主键列不允许NULL值)
SQL是结构化查询语言(Structured Query Language)的缩写,是一种专门用来与数据库通信的语言
优点:1、不是某个特定数据库供应商专有的语言,几乎所有重要的DBMS都支持2、简单易学3、可以进行非常复杂和高级的数据库操作
2、MySQL
(1)、开放源代码,可以免费使用
(2)、性能非常好
(3)、可信赖并且简单易用
DBMS可分为两类:(1)、基于共享文件系统的DBMS(例如:Microsoft Access和FileMaker)(2)、基于客户机-服务器的DBMS(例如:MySQL,Oracle,Microsoft SQL Server)
基于客户机-服务器的DBMS与数据文件打交道的只有服务器软件,关于数据、数据添加、删除和数据更新的所有请求都由服务器软件完成

2.1 mysql命令行实用程序
2.2 MySQL Administrator是一个图形交互客户机,用来简化MySQL服务器的管理(需要安装)
2.3 MySQL Query Browser为一个图形交互客户机,用来编写和执行MySQL命令
3、使用MySQL
常用命令:
use database  选择数据库
show databases 显示数据库
show tables 显示数据库里的表
show clumns from table 显示表中的列 (同 describe table)
show status 用于显示广泛的服务器状态信息
show create database 和 show create table 用来显示创建特定的数据库和表的MySQL语句
show grants 用来显示授予用户(所有用户和特定用户)的安全权限
show errors和show warnings 用来显示服务器错误或警告消息
4、检索数据
SELECT id,name FROM table;
使用DISTINCT 来告诉MySQL来返回不同的行
5、排序检索数据
ORDER BY 
ASC
DESC
6、过滤数据
WHERE
= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
between 在指定的两个值之间
检查单个值
不匹配检查
范围值检查
空值检查
AND 操作符
OR 操作符
IN 操作符
IN 操作符优点:1、在使用长的合法选项清单时,IN操作符的语法更清楚更直观2、计算的次序更容易管理3、一般比OR操作符清单执行更快4、可以包含其他SELECT 语句
NOT 操作符
用通配符进行过滤
LIKE 操作符
百分号(%)通配符
下划线(_)通配符
注意:下划线只匹配单个字符而不是多个字符
用正则表达式来进行搜索REGEXP????
在LIKE与REGEXP之间有一个重要的差别
进行OR匹配(|)
匹配几个字符之一可通过指定一组用[和]括起来的字符来完成(eg:WHERE prod_name REGEXP '[123] Ton' 输出:1 ton vil 2 ton vil)
匹配范围(eg:[1-9],[a-z])
匹配特殊字符
匹配多个实例
匹配定位符
7、创建计算字段
拼接(concatenate)将值联结到一起构成单个值
多数DBMS使用+或|| 来实现拼接,MySQL则使用Concat()函数来实现(eg: SELECT Concat(vend_name,'(',vend_country,')'))
执行算术计算
SELECT id,num*price as total_price FROM t_order;(操作符有 + - * /)
8、使用数据处理函数
文本处理函数:RTrim()、Upper()、Left()、Length()、Locate()、Lower()、LTrim()、Right()、Soundex()返回串的SOUNDEX值、SubString()返回子串的字符、
日期和时间处理函数:AddDate()、AddTime()、CurDate()、CurTime()、Date()、DateDiff()、Date_Add()、Date_Format()、Day()、DayOfWeek()、Hour()、Minute()、Month()、Now()、Second()、Time()、Year()
数值处理函数:Abs()、 Cos()、 Exp()、 Mod()、Pi()、Rand()、Sin()、Sqrt()、Tan()
9、汇总数据
聚集函数: AVG()、COUNT()、MAX()、MIN()、SUM()
聚集不同值:DISTINCT
10、分组数据
数据分组 GROUP BY ()
过滤分组HAVING子句 WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤
11、使用子查询
SELECT * FROM t_order WHERE product_id IN(SELECT id FROM t_product WHERE ...)

你可能感兴趣的:(数据库与大数据分析)