Qingquan-Li / blog

My Blog
https://Qingquan-Li.github.io/blog/
132 stars 16 forks source link

MySQL_1 初识MySQL数据库 #20

Open Qingquan-Li opened 7 years ago

Qingquan-Li commented 7 years ago

MySQL 数据库学习重点: 掌握 MySQL的在Windows 系统中的安装方法 熟练使用例如 SQLyog 的数据库管理工具 学会创建 MySQL 的数据库、数据库表 掌握对数据的增、删、查、改操作 了解和熟悉 MySQL 的事务处理 了解数据库的备份和恢复方法


本篇博客(第一篇)重点:

了解 MySQL 数据库 安装 MySQL 简单操作 MySQL 及其可视化工具 了解结构化查询语言(SQL)


什么是数据库?

数据库(Database 简称DB)是按照数据结构来组织、存储和管理数据的仓库。

关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。 RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  1. 数据以表格的形式出现
  2. 每行为各种记录名称
  3. 每列为记录名称所对应的数据域
  4. 许多的行和列组成一张表单
  5. 若干的表单组成 database

RDBMS 术语:



MySQL简介



MySQL 安装(Windows)

MySQL 下载地址:http://dev.mysql.com/downloads/

MSI 版 MySQL 安装及配置注意事项:

  1. 数据目录建议不要在系统盘,以免卸载时删除数据包。
  2. 软件安装完成后,勾选 “Configure the Mysql Server now” 启用 MySQL 配置向导,不用手动配置繁琐的 my.ini 配置文件。
  3. InnoDB Tablespace Setting,为 InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏。当然,对数据库做个备份就没问题了。
  4. 端口设置默认 3306 (不建议修改)。 建议勾选 “Enable Strict Mode ”(启用标准模式),这样 MySQL 就不会允许细小的语法错误。可以降低有害数据进入数据库的可能性。 还有一个关于防火墙的设置 “Add firewall exception ……” 需要选中,将 MySQL 服务的监听端口加为 Windows 防火墙例外,避免防火墙阻断。
  5. 数据库语言编码设置 编码设置 utf8(避免中文乱码)。
  6. 建议勾选 “Include Bin Directory in Windows PATH”,将 MySQL 的 bin 目录加入到 Windows PATH (加入后,就可以直接使用 bin 下的文件,而不用指出目录名,比如连接:mysql -uusername -ppassword; 就可以了,不用指出 mysql.exe 的完整地址: E:\MySQL\bin\mysql.exe -uroot -ppassword; ,很方便)。

安装或配置出错时,个人经验分享:

  1. 卸载时,建议使用 MySQL 原来的安装程序卸载(原来的安装包不仅可以安装,还有修复、卸载功能),避免用系统卸载程序卸载导致注册表清理不干净。
  2. 安装时,询问是否要修改默认root 用户的密码,如果是重装 MySQL,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将 “Modify Security Settings” 前面的勾去掉,安装配置完成后另行修改密码。
  3. 之前安装过 MySQL 卸载后再次安装时失败,可以尝试改名,例如把 MySQL 改为 MySQL5 再安装就可以成功。此时在命令行打开服务就需要写更改之后的名称,例如启动 MySQL 的命令为 net start mysql5
  4. 要修改 MySQL 配置参数,可在安装路径下找到 “my.ini” 配置文件,修改相关配置参数。


常用的命令行(管理员:命令提示符)操作数据库

  1. 打开 / 关闭 MySQL 服务:net start mysql  和  net stop mysql
  2. 连接 MySQL: ​语法 mysql -hhost –uusername -ppassword ,本地主机(localhost)做服务器时并不用写主机(host)地址 “-h” 参数。
  3. 隐式输入密码:输入 mysql -uusername -p 后回车输密码时密码就为隐式输入。
  4. 连接 MySQL 后推出:键入 quit; 或者 exit; 。注意:输入分号表示执行命令。
  5. 查看所有数据库(MySQL 默认自带有三个或四个数据库):SHOW DATABASES;
  6. 使用数据库:USE 数据库名; 进入后可以查看该数据库里面的表:SHOW TABLES; 查询某个表的所有信息:SELECT FROM 表名称; 例如: SELECT FROM USER \G;(其中星号代表“所有”,“\G” 表示 format 格式化,信息将垂直有条理地显示,注意 G 须大写) 修改密码(不建议在命令行修改,易出错):示例,修改其中一个名叫 MySQL 的数据库的 root 用户的密码:update user set password=password('1234') where user='root';
  7. 创建数据库:CREATE DATABASE [IF EXISTS] 数据库名;
  8. 删除数据库:DROP DATABASE [IF EXISTS] 数据库名;


MySQL 数据库可视化工具

实际开发过程中,除非你是数据库管理员(Database Administrator,简称DBA),我可以直接在 SQLyog、Navicat 等数据库可视化工具中操作数据库,并不需要掌握全部的 SQL 语句,当然,常用的那几条还是要记住的。

常用的可视化工具:SQLyog(功能强大 可动态生成SQL语句)、Navicat(简洁易用)……

注意事项:

列名大小写: 列名、列别名均不区分大小写

字段值大小写: 表与行的 collation,bin 与 cs 区分大小写,ci不区分大小写。 MySQL 对 collation(校对、排序规则)约定的命名方式如下:

数据表: 行:也称实体(类似 Java 对象)。 列:也称字段(类似属性)。字段长默认为11位。



结构化查询语言

SQL(Structured Query Language) 是结构化查询语言的缩写。 SQL 是在数据库上执行数据操作、检索及维护所使用的标准语言,可以用来查询数据,操纵数据,定义数据,控制数据,所有数据库都使用相同或者相似的语言。

结构化查询语句分类:

名称 解释 命令
DDL (数据定义语言) 定义和管理数据对象,如数据库,数据表等 CREATE、DROP、ALTER
DML (数据操作语言) 用于操作数据库对象中所包含的数据 INSERT、UPDATE、DELETE
DQL (数据查询语言) 用于查询数据库数据 SELECT
DCL (数据控制语言) 用来管理数据库的语言,包括管理权限及数据更改 GRANT、COMMIT、ROLLBACK

执行 SQL 语句时,用户只需要知道其逻辑含义,而不需要知道SQL语句的具体执行步骤。