第二十四章 零基础学MySQL
1.MySQL安装和配置
1.数据库的作用
2.MySQL 5.7安装和配置
左上角要有管理员三个字
-u root 表示用户 -p 表示密码
这里的quit退出,mysql还在运行的,这里只是退出的终端而已
3.命令行连接到MySQL
注意:首先保证mysql是一个运行的状态,之后才能连接到数据库
这里主机地址不写默认就是本机,端口不写默认就是3306
4.Navicat安装和使用
如果在命令提示符进行操作的话
5.SQLyog安装和使用
6.数据库三层结构
7.java操作MySQL
在执行程序前,我们发现是没有这个表的
在执行程序之后(创建表)
添加数据
删除表
此时再查询表,表不存在
2.数据库
1.创建数据库
下面这种是图形化演示
下面是删除数据hsp_01的指令
之后刷新一下数据库就消失,左边里面的hsp_01就消失了
下面使用指令创建数据库
在数据库hsp_db03中创建一个表t1,并且存入两个字段
如果表没有额外确定字符集和和校对规则(核对),则与数据库的保持一致。
接着在数据库hsp_db02中也创建一个表t1,
此时执行查询语句
在dsp_db02中
在dsp_db03中,只有一个,因为校对类型区分大小写
2.查询数据库
删除同样要带反引号
3.备份恢复数据库
备份
然后d盘会出现以下
这个文件中就是我们一系列的sql语句
恢复
我们先将hsp_db01和hsp_db02这两个数据库删除
第一种恢复方法
接着要先打开数据库,在输入恢复命令
第二种恢复方法
将bak.sql中的文件,粘贴到sqlyog中执行一遍
1.
第一种方法
第二种方法
2
3
3.表
1.创建表
第一种
第二种
2.创建表练习
3.删除和修改表
增加image列
修改job列长度
删除sex列
修改表名
修改表的字符集
修改列名
4.MySQL数据类型(列类型)
1.列类型有哪些
2.列类型之整型
界面直接勾选即可
3.列类型之bit
4.列类型之小数型
使用bigint也无法存放这么大的数据,只有使用decimal
5.列类型值字符串
6.列类型之字符串使用细节
其中的每一个字符占用多大的空间,取决使用的编码,列如如果是utf8,那么就是4 * 3;
如果的gbk,那么就是4 * 2;
一个中文占3个字节,其他的字符占一个字节
7.日期类型
其中的timestamp如果没有指定信息且配置之后,系统会以当前的信息进行配置
5.CRUD
1.insert
2.insert注意事项
下面这个会成功,因为在MySQL的底层他会尝试着将’30’转化成一个int类型
字符串长度超过设定的10,会出错
4.
不加单引号会出错
5.
下面这种情况是可以为空的
但是如果在创建表的时候加一个NOT NULL,则会失败
6.
如果是下面这种,只添加两个就会失败
8.
3. update
4.delete
5.select 1
6.select 2
7.select 3
1.
两种方法
2.
两种方法
3.
姓韩
4.
8.select 4
6.函数
1.统计函数(count,sum,avg,Max/Min)
2.分组函数(group…by…)
部门表
员工表
工资级别表
按照部门来分组,并求出每个分组的平均工资和最高工资
比如部门为10的平均工资为2916.666667,最高工资为5000.00
先按照部门分类,再按照岗位分类
注意:select只是用来查询,并没有对表中的数据做任何修改
3.字符串函数
Charset(str)
concat
Instr
DUAL是系统给的一个表,可以用来做测试
ucase
lcase
Left / right
length
一个汉字占三个字节,一个字母占一个字节
replace
strcmp
substring
ltrim / rtrim /trim
4.字符串函数练习
第一种方法
第二种方法
5.数学函数
ABS
BIN
Ceiling
conv
floor
format
least
mod
rand
如果希望返回的随机数是固定的,则在里面加一个值
6.日期函数
current_date
current_time
current_timestamp
每次运行timestamp都会自动更新,now不会更新
Date
date_add / date_add
interval间隔
或者使用date_sub
Datediff
如果要相差多少年可以除365
要求年龄就除365
Timediff
year / month / day / date
7.加密函数
user
database
MD5
不管是什么字符串密码,经过md5加密之后都会变成一个32位的字符串
password
注意:我们自己真正创建的用户其实是存放在mysql中的
8.流程控制函数
If
Ifnull
select case when… then…
第一种方法
第二种方法