MySQL知识总结

时间:2020-05-18 20:31:37   收藏:0   阅读:71

MySQL基础知识总结

1. MySQL使用前提

1.1 安装以及开启服务

1.2.1 windows安装MySQL

  1. 官网下载压缩包,并解压

  2. 添加 mysql/bin 至 path

  3. 在mysql安装目录下新建my.in:

    [client]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    
     
    [mysqld]
    # 设置3306端口
    port = 3306
    # 设置mysql的安装目录
    basedir=H:/mysql-5.7.29
    # 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
    # datadir=Hmysql-8.0.20-winx64data
    # 允许最大连接数
    max_connections=20
    # 设置默认时区
    default-time_zone = ‘+8:00‘
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    # 设置默认时区
    default-time_zone = ‘+8:00‘
    
    • mysql默认使用latin1编码方式,不支持中文
  4. mysqld --install 进行安装

  5. mysqld --initalize[-insecure] [--user=你的用户名 --console],初始化数据库,记录生成最后的密码

  6. net start mysql 启动mysql服务

菜鸟教程-mysql安装

1.2 登陆连接

1.2.1 登陆

(1)本地登陆

(2)以指定用户登陆

(3)修改密码


2. MySQL基本使用

0. 一些建议

2.1 MySQL数据库

数据库名,表名,字段名使用标准需要带“``”,反引号,tab键上方字符,如果名字中没有带特殊字符,可以不用。

2.1.1 创建数据库

(1)使用mysqladmin工具创建数据库

(2)使用create database语句(需要特定的权限)

2.1.2 查看创建数据库的语句

(1)show语句查看当时建库的SQL语句

2.1.3 删除数据库

(1)使用mysqladmin命令删除数据库

(2)使用drop database语句(需要特定的权限)

2.1.4 INNODB与MYISAM比较

(1)比较


2.2 MySQL数据表

2.2.1 数据类型介绍

(1)数值类型

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 byte (-128,127) (0,255) 小整数值
SMALLINT 2 bytes (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 bytes (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 bytes (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4 bytes (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度 浮点数值
DOUBLE 8 bytes (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度 浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

(2)日期和时间类型


(3)字符串类型

(4)NULL

2.2.2 数据库字段属性

(1)unsigned 无符号

(2)zerofill 零填充

(3)auto_increment 自增

(4)NULL,Not NULL

(5)default

2.2.3 数据表的主键与外键

(1)主键

(2)外键

2.2.4 数据表的创建,查看与删除

(1)使用SQL语句创建数据表

(2)查看数据表的信息

(3)使用SQL语句删除数据表

2.2.5 数据表的修改

(1)修改名称

(2)增加表字段

(3)修改字段的属性

(4)修改字段的默认值

(5)删除表的字段


2.3 数据操作语言 DML

2.3.1 插入数据

(1)使用insert语句插入数据

2.3.2 条件判断

(1)where条件语句

(2)条件判断操作符

(3)多个条件连接

(4)like子句

(5)refexp表达式

2.3.3 更新数据

(1)update语句

2.3.4 删除数据

(1)delete语句

(2)truncate语句


2.4 数据查询语言 DQL

2.4.1 Select 查询语句

(1)select语句结构

(2)模糊查询

2.4.2 多表连接查询

? 技术图片

? 表A [[left\][right]] join 表B on 连接条件 ----> 返回一个新的组合表

(1)inner join连接

(2)left join 左外连接

(3)right join 右连接

(4)join 连接后返回的数据表的查询

(5)自连接

2.4.3 排序与分页

(1)结果排序

(2)分页

2.4.4 子查询

(1)子查询格式

2.4.5 分组查询

(1)group by指定分组字段

(2)having 根据条件过滤分组

(3)with rollup 再次分组统计


2.4.6 其他

(1)union操作符

2.5 MySQL函数

2.5.1 常用函数

(1)数据函数

(2)字符串函数

(2)日期和时间函数

(3)系统信息函数

2.5.2 聚合函数

(1)常用聚合函数

2.5.3 数据库加密

(1)MD5算法

(2)SHA算法


2.6 事务

技术图片

2.6.1 事务概念

(1)事务

(2)事务的ACID特性:

(3)数据库的并发带来的问题

2.6.2 MySQL事务的处理

(1)事务的提交模式

(2)事务的基本执行流程

MySQL事务提交方式参考

2.6.3 事务的隔离级别

(1)为什么需要隔离原因?

(2)MySQL事务隔离界别的设置

(3)读未提交(read uncommitted

(4)读已提交(read committed

(5)可重复度(repeatable read

(6)串行化(serializable


2.7 索引

2.7.1 索引介绍

(1)索引概念

(2)索引分类

  1. 主键索引(primary key):唯一标识,主键的值不可重复,一张表只能有一个主键,可以有一个字段或者多个字段作为一个主键
  2. 唯一索引(unique key):避免重复的列值出现,一个表可包含多个唯一索引,一个唯一索引可以有多个字段
  3. 常规索引(key/index):默认索引,使用index或者key来设置;
  4. 全文索引(fulltext):一般只有MYISAM数据引擎支持该类索引(高版本的MySQL的innodb也开始支持全文索引),可以快速定位数据。

MySQL索引原理

2.7.2 索引的使用

(0)一些规范:

(1)创建时指定索引

(2)索引的添加

使用create语句:

使用alter语句:

(3)查看索引的信息


2.8 MySQL的用户、权限管理

2.8.1 MySQL用户登录管理

(1)mysql.user表

(2)更改user表用户登录信息

2.8.2 用户权限管理

(1)查看权限

(2)授予用户数据表的操作权限

(3)撤销用户数据表的操作权限


2.9 MySQL数据备份与恢复

2.9.1 MySQL数据备份

(1)mysqldump工具

2.9.2 MySQl数据库恢复

(1)通过命令行工具导入

(2)登录的情况下

数据库的备份与恢复

待续。。。

参考-java狂神说

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!