MySQL初识

MySQL简介

  MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
  MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
  MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

sql语句初识

1. MySQL账号操作

# 进入mysql数据库
  mysql -uroot -p           # 默认登录数据库之后并没有实际操作的权限,需要使用root用户登录,在mysql5.6默认没有密码

# 给当前数据库设置密码
  mysql> set password = password('root')

# 查看当前用户
  mysql> select user();
# 退出数据库
  mysql> exit
  mysql> \q quit

# 创建账号
    mysql> create user 'user1'@'192.137.10.%';      # 指定网段
    mysql> create user 'user1'@'192.137.10.120';    # 指定某台机器可以连接
    mysql> create user 'user1'@'%';                       # 指定所有机器都可以连接
# 远程登录数据库
    mysql -uroot -p -h 'ip'

#账号授权
    mysql> grant all on *.* to 'user1'@'%';
    mysql> flush privileges;
# 创建账号并授权
    mysql> grant all on *.* to 'user1'@'%' identified by '123'
# 查看某个用户的权限
    mysql> show grants for 'user01'@'ip'
MySQL账号操作

2. sql语言的分类

  1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER

  2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT

  3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

3. MySQL基本操作

增:create database dbname charset utf8;
    # 创建数据库并指定编码方式为utf8;
查:show databases;
改:alter database dbname charset latin1;
    # 修改数据库的编码方式为latin1;
删:drop database dbname;
操作文件夹(库)
# 要操作哪个数据库,先要切换到库对应的文件夹下
mysql> use dbname;

增:create table table1(字段1,字段2,字段3);
查:show tables;
改:alter table table1 modify name char(3);  # 修改表中的name字段内容长度不超过3
   alter table table1 change name name1 char(2);  # 将name字段修改为name1,并规定name1字段内容长度不能超过2;
删:drop table table1;
操作文件(表)
增:insert into table1 values(值1,值2),(值1,值2),(值1,值2);
    # 一次插入多条数据
查:select * from table1;
改:update table1 set name='haha' where 条件;
删:delete from table1 where 条件;
操作文件内容(记录)

ps:

在清空表时,可以有其他的命令:

  delete from table1; 在这个命令下,如果有自增字段,新增的数据依然是以删除前最后的id为起始自增,并不是从0开始;

  truncate table table1;数据量大,删除速度要比上一条命令块,并从0开始;

4. after和first的区别:

alter table table1 add 字段1 数据类型 限制条件 after 已有字段;
    # 指定了哪个字段,就会在哪个字段之后新添加一个字段1;
alter table table1 add 字段2 数据类型 限制条件 first;
    # 会在这张表的最前面添加一个字段:字段2;

first:

 MySQL的工作流程

MySQL架构总共分为四层,以上图的虚线作为划分。

  首先,最上层服务不是MySQL独有的,大多数给予网络的C/S架构的工具或者服务都有类似的架构。比如:连接处理、授权认证、安全等。 

  第二层的架构包括大多数的MySQL的核心服务。包括:查询解析、分析、优化、缓存以及所有的内置函数(例如:日期、时间、数学和加密函数)。同时,所有的跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等。

  第三层包含了存储引擎。存储引擎负责MySQL中数据的存储和提取。服务器通过API和存储引擎进行通信。这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明化。存储引擎API包含十几个底层函数,用于执行“开始一个事务”等操作。但存储引擎一般不会去解析SQL(InnoDB会解析外键定义,因为其本身没有实现该功能),不同存储引擎之间也不会相互通信,而只是简单的响应上层的服务器请求。

  第四层包含了文件系统,所有的表结构和数据以及用户操作的日志最终还是以文件的形式存储在硬盘上。

 

posted @ 2019-04-06 17:30  DF-包子  阅读(146)  评论(0编辑  收藏  举报