目录
1、什么是数据库,为什么要学习数据库
略
2、初识Mysql,关系型和非关系型数据库
关系数据库:MySqlk,Oracle,Sql Server, DB2
通过表和表,行列的关系存储
非关系数据库:Redis,MongDB
对象存储
DBMS :数据库管理系统,如MySql(www.mysql.com)
版本
3、安装MySQL详细说明
尽量不用exe安装,尽量用压缩包安装 ,按照文档安装好mysql

4、Sqlyog软件安装和使用
、
5、基本的命令行操作
show databases;查看所有数据库
use school 使用数据库
show tables 查看所有表
describe student 查看表信息
create database westos 创建数据库
exit; 退出连接
-- 单行注释
/**/ 多行注释
数据库语言:CRUD(增删改查)
DDL定义
DML操作i
DQL查询
DCL控制
6、操作数据库语句
操作数据库、表、字段
mysql关键字不区分大小写
DESC 显示表结构
7、列的数据类型讲解
- 数值
- tinyint 一个字节
- smallint 两个字节
- int 四个字节
- mediumint 三个字节
- bigint 八个字节
- float 四个字节
- double 八个字节(精度问题)
- decimal 字符串i形式浮点数,一般用于金融计算
字符串
- char 0-255
- varchar 可变字符串 0-65535, =String
- tinytext 微型文本 2^8-1
- text 文本串 2^16-1
时间日期
- date,YYYY-MM-DD
- time HH:mm:ss
- datetime YYYY-MM-DD HH:mm:ss
- timestamp 时间戳,1970.1.1到现在的毫秒数
- year 年份表示
null
不要使用null进行运算
8、数据库的字段属性
- Unsigned
- zerofill 不足的位数补零
- 自增(自增1,必须是整数,可设置起始值和增量)
- 非空
- 默认
9、创建数据库表
CREATE TABLE IF NOT EXISTS 'student'(
‘id’ INT(4) NOT NULL AUTO_INCREMENT COMMENT'ID'
PRIMARY KEY ('id')
)ENGINE = INNODB DEFAULT CHARSET = UTF8
10、MyISAM和InnoDB区别
事务支持 | 行锁 | 外键 | 全文索引 | 表空间 | |
myISAM | NO | NO | NO | YES | 小 |
InnoDB | YES | YES | YES | NO | 大(两倍) |
Myisam:节约空间,速度快
INNODB:安全,事务处理,,多表多用户操作
在物理上的区别:
InnoDB在数据库表只有一个*.frm文件,还有上级文件的ibdata
myISAM:*frm表结构文件、*.MYD数据文件、MYI索引文件
11、修改和删除数据表字段
12、数据库级别的外键
外键
也可以创建完表后加入约束:
13、Insert语句详解
DML语言、添加insert、修改update、删除delete
14、Update语句详解
15、Delete和Truncate详解
TRUNCATE
这个命令可以删除所有索引,重新设置自增列,不影响事务
16、基本的Select语句和别名使用
17、去重及据库的表达式
distinct

18、Where子句之逻辑运算符
where
19、模糊查询操作符详解
用法:
in里面是精确锁定,不能用%
20、联表查询JoinON详解
两者结果一样
21、自连接及联表查询练习、
和外连接差不多,只是把自己分成两张表
22、分页和排序
23、子查询和嵌套查询
eg2:
多种查询方式:
24、MySQL常用函数
-- ================ 常用函数==================
SELECT ABS(-1)
SELECT CEILING(9.2)
SELECT FLOOR(8.2)
SELECT RAND ()
SELECT SIGN(-10) -- 判断符号的正负
-- 字符串函数
SELECT CHAR_LENGTH('augfakb')
SELECT CONCAT('123','456','789')
SELECT UPPER('ssss')
SELECT LOWER('sssaeSGVSEG')
SELECT REPLACE('123123123','1','0')
SELECT SUBSTR('123456789',3,7)
SELECT REVERSE('123456789')
-- 时间
SELECT CURDATE()
SELECT NOW()
SELECT LOCALTIME()
SELECT SYSDATE()
SELECT YEAR(NOW())
SELECT SECOND(NOW())
25、聚合函数及分组过滤
发
分组后不能用where:
应该用having限定:
26、拓展之数据库级别的MD5加密
MD5:不可逆加密算法,
一、MD5简介
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。
MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的16进制数字串)。
大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为司法机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的MD5“数字指纹”,如果任何人对文件做了任何改动,其MD5也就是对应的“数字指纹”都会发生变化。
一般在插入时加密:
校验: