一、MySQL与Navicat的关系
1、MySQL是一个关系型数据库管理系统(DBMS)
2、Navicat是一款数据库的客户端软件
二、修改MySQL的登录密码
1、set password for 用户名@localhost = '新密码';
-->8.0版本
2、alter user 'root'@'localhost' identified by '123456';
-->8.0版本
三、操作数据库的指令
1、show databases;
--> 显示所有数据库
2、use 数据库名;
-->切换数据库
3、show tables;
-->显示数据库下的所有表格
4、desc 表名;
-->显示表结构
5、select database();
-->查看当前使用的数据库
6、create database 数据库名;
-->创建数据库
7、drop database 数据库名;
-->删除数据库
8、source sql脚本文件名;
--> 执行sql脚本文件
**强调:**路径分割符
(1)windows系统路径分隔符是:’\’
(2)Linux系统的路径分隔符是: ‘/’
四、SQL基础
1、SQL(Structured Query Language)是“结构化查询语言”。
2、SQL的语法要求:
(1)可以单行或多行书写,以分号结尾
(2)关键字不区分大小写,建议使用大写
3、MySQL的数据类型
int、char、varchar、double、text…
(一)DDL(数据定义语言)
1、创建数据库:create database 数据库名;
2、切换数据库:use 数据库名;
3、删除数据库:drop database 数据库名;
4、创建表格:
create table 表名(
列名 列数据类型,
列名 列数据类型,
......
)
(1)给表添加列
alter table 表名 add (列名 数据类型);
(2)修改列的数据类型
alter table 表名 modify 列名 新数据类型;
(3)修改列名
alter table 表名 change 旧列名 新列名 数据类型;
(4)删除列
alter table 表名 drop 列名;
(5)修改表名
alter table 表名 rename to 新名称;
(二)DML:数据操作语言
1、插入语句:向表中插入记录
insert into 表名(列1,列2,...) values(值1,值2...)
强调:创建表格时设置主键自增
前提:主键必须是int型
2、修改表的记录
update 表名 set 列名1 = 值1,列名2=值2,... [where 条件];
3、删除表格记录
delete from 表名 [where 条件];
五、索引
1、创建索引的目的
提高查询的效率
2、什么是索引
是一种数据结构,在MySQL中是一个”键”
3、工作原理
在MySQL中,存储引擎用类似的方法使用索引,其先在索引中查找对应的值,然后根据匹 配的索引记录找到对应的数据行,最后将数据结果集返回给客户端。
4、类别
(1)普通索引:提高查询效率针对表中的某列建立的索引
(2)主键索引:在创建表格并指定主键时会自动创建,为了提高查询效率
(3)唯一索引:创建索引的字段(列)取值是唯一的
(4)外键索引:查询时会自动进行主外键的关联查询.外键的作用是保证数据的一致性和完整性
(5)全文索引:主要用于文章的搜索,在搜索引擎中使用较多
六、视图
是一张虚拟的表,数据来自于查询语句所涉及的表。使用时和真实的表相同,但是视图不会在数据库中进行存储。针对复杂的多表查询,为了简化SQL语句的编写,可以先建立视图。然后用简单的查询语句去查询视图,就可以提高查询效率。
七、事务
1、什么是事务
在数据库中事务是工作的逻辑单元,一个事务是由一个或多个完成一组的相关行为的SQL语句组成,通过事务机制确保这一组SQL语句所作的操作要么完全成功执行,完成整个工作单元操作,要么一点也不执行。
2、作用
确保数据库的完整性
3、事务的特性(ACID)
(1)原子性(Atomicity)
(2)一致性(Consistency)
(3)隔离性(Isolation)
(4)持久性(Durability)
八、锁
1、读锁(Read Lock):共享锁
2、写锁(Write Lock):排他锁
3、表级锁(Table Lock):最基本的锁策略,而且是开销最小的策略
4、行级锁(Row Lock):可以最大程度地支持并发处理,同时也带来了最大的锁开销
九、MySQL的存储引擎
1、InnoDB:默认存储引擎,提供了事务、回滚、崩溃修复能力、多版本并发控制的事务安全;支持列的自增。
2、MyISAM:将表格存储为三个文件
-
.frm文件:存放表结构
-
.myd文件:存放表数据
-
.myi文件:存放表索引
3、MEMORY:建立的表对应的是一个磁盘文件,文件的扩展名是.frm。在磁盘上存放表的结果,在内存中存放表的数据,这样可以提高表的操作效率。