MySQL安装和基本操作
第一节:数据库简介
1.1 简介
数据库(Database,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。简单理解数据的仓库。
数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。
数据库是通过数据库管理系统创建和操作的。
1.2 常见数据库管理系统
关系型数据管理系统(RDBMS,Relational Database Management System)
Oracle:Oracle数据库被认为是业界目前比较成功的关系型数据库管理系统。Oracle数据库可以运行在UNIX、Windows等主流操作系统平台,完全支持所有的工业标准,并获得最高级别的ISO标准安全性认证。
MySQL:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
DB2:DB2是IBM公司的产品,DB2数据库系统采用多进程多线索体系结构,其功能足以满足大中公司的需要,并可灵活地服务于中小型电子商务解决方案。
Microsoft SQL Server:SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点。
SQLLite:应用在手机端的数据库。
国产数据库,阿里目前自研数据库分为两个支线,OceanBase和POLARDB。
非关系型数据库管理系统(NoSQL)
Redis、MongoDB等
1.3 MySQL5.5安装和卸载
想安装就先懂卸载,卸载都卸载不干净,安装就别想了。
卸载:
1.停止服务,使用 c:\>net stop mysql 命令停止服务, c:\>net start mysql 命令启动服务。
2.在控制面板-->"程序和功能"中,找到“mysql程序”,点击卸载。
3.删除安装目录,一般默认在C:\Program Files\MySQL。
4.删除数据库文件存放目录,一般默认在C:\ProgramData\MySQL。
打开服务 运行中 services.msc
注意:如果卸载后,发现MySQL服务没有删掉,手动删除: 以管理员身份打开命令行,
输入 sc delete 服务名 回车。
安装和配置步骤:
-
启动mysql服务
1 使用services.msc 找到服务启动 2 管理员身份运行cmd 停止:net stop mysql 启动:net start mysql
-
验证是否安装成功,打开cmd输入,如上图所示。
登录语法:mysql [-h 主机名] -u root -pc:\>mysql -u root -p 回车输入密码即可
然后输入密码,正确进入表示安装成功。
-
MySQL安装目录
bin文件夹:该文件夹下存放着可执行文件 include文件夹:该文件夹下存放着头文件 lib文件夹:该文件夹下存放着库文件 share文件夹:该文件夹下存放着字符集、语言等信息。
-
MySQL配置文件
在MySQL安装目录中找到my.ini文件,并打开my.ini文件查看几个常用配置参数 常用的参数如下: default-character-set:客户端默认字符集 character-set-server:服务器端默认字符集 port:客户端和服务器端的端口号 default-storage-engine:MySQL默认存储引擎 INNODB
1.4 MySQL5.7安装
卸载 (1)停止服务 net stop mysql57 (2)安装和卸载程序 卸载mysql项目 (3)删除残留文件 C:\ProgramData
注意:如果mysql57服务没有删除成功,手动删除:使用管理身份进入命令行:sc delete mysql57
同意协议
1 验证是否安装成功
打开:Command Line Client 输入 root的账号的密码能进入,安装成功。
修改密码:set password for 'root'@'localhost'=password('root');
2 安装目录介绍
bin: 二进制文件
docs: 存放文档
include: 头文件
lib: 链接库
share: 语言文件
C:\ProgramData\MySQL\MySQL Server 5.7 存放数据库的目录和配置
3 my.ini 设置编码
设置数据库默认编码:default-character-set=utfmb4
设置服务器编码: character-set-server=utfmb4
4 服务的停止和启动
(1)使用windows的服务界面 停止和启动 MySQL57
(2)停止 net stop MySQL57 启动 net start MySQL57
5 把MySQL的bin目录添加环境变量
C:\Program Files\MySQL\MySQL Server 5.7\bin 添加到path中
打开命令提示符 :(1)输入 mysql -uroot -p 回车 ,(2)输入密码
第二节 SQL语言
2.1 概述
SQL : Structure Query Language(结构化查询语言),用来访问和处理数据库的标准计算机语言。后来被国际化标准组织(ISO)采纳为关系数据库系统语言的国际标准。
SQL作用:SQL 是一种标准化的语言,它允许你在数据库上执行操作,如创建数据库、表等等,查询内容,更新内容,并删除条目等操作;CRUD Create, Read, Update, and Delete 通常称为CRUD操作。
大部分数据库厂商都支持ISO的SQL标准,但是数据库厂商在标准的基础上做了自己的扩展,称为方言 。
2.2 SQL语句分类
-
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等。
-
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)。
-
DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
-
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。
MySQL语法注意事项:
MySQL每条语句以;结尾。
MySQL语句不区分大小写。
MySQL字符串使用单引号或双引号。
MySQL注释:(1)单行注释:#开头或者--空格开头 (2)多行注释 /*多行注释*/
2.3 DDL操作数据库
show databases; #显示当前mysql中的数据库
系统默认数据库:
information_schema
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。
mysql:
mysql:这个是mysql的核心数据库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息,不可以删除。
performance_schema
收集数据库服务器性能参数,性能优化的数据库。
test(5.5版本)
这个是安装时候创建的一个测试数据库,和它的名字一样,是一个完全的空数据库,没有任何表,可以删除。
sys(5.7版本)
sys 系统数据库,保存系统的元数据信息,数据来源information_schema库。
这个库可以方便DBA发现数据库的很多信息,解决性能瓶颈都提供了巨大帮助。
1 创建数据库
CREATE DATABASE语句用于创建新的数据库:
语法:CREATE DATABASE [IF NOT EXISTS] db_name
SQL> CREATE DATABASE mydb1;
SQL> CREATE DATABASE IF NOT EXISTS mydb2 character SET GBK;
SQL> CREATE DATABASE mydb3 character SET GBK COLLATE gbk_chinese_ci;
2 查看
查看当前数据库服务器中的所有数据库
SQL> SHOW DATABASES;
查看前面创建的mydb2数据库的定义信息
SQL> ShOW CREATE DATABASE mydb2;
3 修改
查看服务器中的数据库,并把mydb2的字符集修改为utf8;
SQL> ALTER DATABASE mydb2 character SET utf8;
4 删除
语法:DROP DATABASE [IF EXISTS] db_name
SQL> DROP DATABASE IF EXISTS mydb3;
5 其他语句
查看当前使用的数据库,一定记住
SQL> select database(); #没有选择数据 null
切换数据库,一定记住
SQL> USE mydb2;
退出MySQL
quit;或exit;
2.4 DDL操作表
CREATE TABLE语句用于创建新表。
语法:
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 字段类型(长度) 约束,
字段2 字段类型(长度) 约束,
…
字段n 字段类型(长度) 约束
) [charset=utf8];
示例:
SQL> CREATE TABLE IF NOT EXISTS student
(
id INT NOT NULL,
name VARCHAR(50),
age INT,
address VARCHAR(100)
) CHARSET=utf8;
或
SQL> CREATE TABLE IF NOT EXISTS `student