什么是数据库?
1.数据库:保存有组织的数据的容器
2.数据库表:某种特定类型数据的结构化清单
(注)可以将数据库和数据库表比作文件夹和文件,同一个文件夹中不能存在相同文件名的文件,同理,同一个数据库中也不能存在相同表名的表.
3.列:每个数据库表都由列组成,每一列存储着表中部分信息.
(注)可以将数据库表看作一个表格,表格中的每一列存储一条特定的信息,每一列都由特定的数据类型限定,表中的每一行为一条记录,表中的行数为记录的行数.
4.主键:一列或一组列,其值能够唯一区分表中每一行.
(注)只要满足以下两个条件即可作为主键:
1.任意两行都不具有相同的主键值.
2.每个行都必须具有主键值(主键值不能为NULL值)
若选择多个列作为主键,多个列值的组合必须是唯一的,但单个列的值可以不唯一.
5.关键字:作为MYSQL语言组成部分的一个保留字,绝不能用关键字命名一个表或列.
MYSQL数据库关键字
-
USE关键字,用于切换数据库.(注:必须先使用USE打开数据路,才能读取数据库中的数据)
-
SHOW关键字,用于显示数据库,表,列,用户,权限等信息.
-
SHOW DATABASES; 用于显示可用数据库
-
SHOW TABLES; 用于显示数据库中的表信息.
-
SHOW COLUMNS;用于显示表中列信息.
-
SHOW STATUS;用于显示广泛的服务器信息.
-
SHOW CREATE DATABASE 和SHOW CREATE TABLE 用于显示创建数据库和数据库表的MYSQL语句.
-
SHOW ERROES 和SHOW WARINGS 用于显示数据库错误和警告信息.
-
-
SELECT关键字,可用于检索单个或多个列,可用*通配符检索某个表中全部列.
-
LIMIT关键字,可用于限定检索的行数.
(注)LIMIT 5 说明从0行开始的五行.(起始从0行开始)
(注)LIMIT 3,5说明从第三行开始的五行.(起始从0行开始)
-
DISTINCT关键字,指示MYSQL只返回不同的值,DISTINCT只能放在列名前,DISTINCT关键字应用于所有列,而不止是它的前置列.
-
ORDER BY关键字 ,排序检索出来的数据,既可以通过选择列排序,也可根据非选择列排序.
(注)通过选择列排序
(注)通过非选择列排序
(注)按多个列排序,此时仅在多行具有相同name时才会根据id排序.
-
DESC 和 ASC关键字,指定排序方向,DESC:降序排列,ASC:升序排列(MYSQL默认升序排列,故ASC关键字用处不大).
-
WHERE关键字 ,可指定搜索条件(过滤条件).
(注)在同时使用WHERE和ORDER BY时ORDER BY 必须在WHERE子句后面,否则会产生错误.
-
AND和OR关键字,可连接两个WHERE子句,AND关键字筛选满足两个条件的列,OR关键字筛选满足两个条件之一的列.
-
IN操作符,用于指定条件范围.
-
NOT操作符,用于否定其后所跟的条件.
-
LIKE操作符,用于通配符匹配,%通配符表示可匹配任意字符的任意次数,_通配符表示只能匹配任意的单个字符.
-
AS关键字,可用于给列名起别名.
-
GROUP BY子句,用于创建分组.
-
HAVING,用法类似于WHERE,只不过WHERE过滤行,HAVING过滤分组.
-
INSERT INTO关键字,用于向表中插入值.
-
UPDATE关键字,用于更新或修改表中的数据,若在出错时防止继续进行更新,可在UDPDATE后加IGNORE关键字.
-
DELETE关键字,用于删除表中数据.
(注)UPDATE和DELETE应谨慎使用,使用时一定要加上WHERE子句,否则会将更新或删除作用于全表.
-
CREATE关键字,用于创建表.
-
ALTER关键字,用于更改表结构.
-
DROP关键字,用于删除表.
-
RENAME关键字,用于重命名表.
MYSQL数据处理函数
-
文本处理函数
-
Concat()函数,用于拼接字符串.
-
Trim()函数,用于去除列表两端的空格,RTrim()去除右端空格,LTrim()去除左端空格.
-
Upper()函数,将文本转化为大写.
-
Left()函数,返回串左边的字符.
-
Length()函数,返回串的长度.
-
Locate()函数,找出串的一个字串.
-
SubString()函数,返回子串的字符.
-
-
日期处理函数
- AddDate()函数,增加一个日期(天,周等).
- AddTime()函数,增加一个时间(时,分等).
- CurDate()函数,返回当前日期.
- CurTime()函数,返回当前时间.
- Now()函数,返回当前日期和时间.
- Time()函数,返回一个日期时间的时间部分.
- Year()函数,返回一个日期时间的年份部分.
-
数值处理函数
- Abs()函数,返回一个数的绝对值.
- Cos()函数,返回一个角度的余弦.
- Exp()函数,返回一个数的指数值.
- Mod()函数,返回除操作的余数.
- Pi()函数,返回圆周率.
- Rand()函数,返回一个随机数.
- Last_insert_id()函数,返回最后一个AUTO_INCREMENT值.
-
聚集函数
- AVG()函数,返回某列的平均值.
- COUNT()函数,返回某列的行数.
- MAX()函数,返回某列的最大值.
- MIN()函数,返回某列的最小值.
- SUM()函数,返回某列的值之和.
视图
视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询.即包含的是一个SQL查询.
- 为什么使用视图?
- 重用SQL语句.
- 简化复杂的SQL操作,在编写查询后,可以方便的重用而不必知道其查询细节.
- 使用表的组成部分而不是整个表.
- 保护数据,可以给用户授予表的特定部分的访问权限而不是整个表的访问权限.
- 更改数据格式和表示,视图可返回与底层表的表示和格式不同的数据.
事务处理
MYSQL是关系型数据库,设计良好的数据库模式都是关联的,如果在相关联的两个表中添加数据,在其中一个表中添加数据后另一个表的数据添加失败时,数据库中会出现不完整的数据.为保证数据库中不包含不完整的操作结果,利用事务处理,可以保证一组操作不会中途停止,它们或者作为整体执行,或者完全不执行。
-
ROLLBACK命令,用于回退MYSQL语句.
-
COMMIT命令,在事务处理块中,提交不会隐含进行,为进行明确的提交,使用COMMIT命令.
-
SAVEPOINT,创建保留点,可使用ROOLLBACK TO 回退至指定保留点.
个人主站:http://risestone.club
更多资讯请关注小石coder,更有免费资料领取