mysql数据库介绍
mysql数据库
什么是数据库
# 用来存储数据的仓库 # 数据库可以在硬盘及内存中存储数据 # 数据库与文件存储数据区别 # 数据库本质也是通过文件来存储数据, 数据库的概念就是系统的管理存储数据的文件
数据库介绍
数据库服务器端: 存放数据库的主机集群 数据库客户端: 可以连接数据库的任意客户端 数据库管理员: DBA # socket套接字的C/S架构应用
数据库基本概念
# 重要性: *** # 库: 多表构建一个数据库, 本质就是文件夹 # 表: 多条数据构建一张表, 本质就是文件 # 记录: 存放一条条数据, 本质就是文件中一条条数据记录 # (字段)id, name, age, gender...一个老师的数据 => 一条数据记录
数据库分类
# 重要性: *** # 关系型数据库 # 1.有表的概念 # 2.以表中一条条记录存储数据 # mysql oracle sqlServer access db2 # 非关系型数据库 # 1.没有表的概念 # 2.通过key-value键值对方式存储数据 # mongodb redis memcache
Mysql数据库简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
数据库安装
# 安装server端与client端 # 如何启动server? 如果通过client连接server
数据库启动与连接
# 前提:配置环境变量 # 了解 # 1.前往数据库安装路径,bin文件夹下,cmd执行 mysqld 启动mysql服务器端 # 2.前往数据库安装路径,bin文件夹下,cmd执行 mysql 启动mysql客户端连接服务器端 # 掌握 # 将mysql服务器添加到系统服务,在系统服务中启动mysql, 命令: mysqld --install # 进入系统服务: win+r => services.msc => 找到mysql服务手动启动或关闭 # 连接数据库:mysql -hlocalhost -P3306 -uroot -p # 通过最高权限进入数据库, 要采用root用户进入, 连入本地数据库: mysql -uroot -p # 查看mysql版本: select version(); # 查看当前用户: select user(); # 查看mysqld下的(当前用户可以操作的)所有数据库: show databases;
将mysql添加到系统服务设置中去
###下载安装详细步骤 #1、下载:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/ #2、解压 如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.7.16-winx64 #3、添加环境变量 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】 #4、初始化 mysqld --initialize-insecure #5、启动MySQL服务 mysqld # 启动MySQL服务 #6、启动MySQL客户端并连接MySQL服务 mysql -u root -p # 连接MySQL服务器 上一步解决了一些问题,但不够彻底,因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题: 注意:--install前,必须用mysql启动命令的绝对路径 # 制作MySQL的Windows服务,在终端执行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --install # 移除MySQL的Windows服务,在终端执行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --remove 注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令: # 启动MySQL服务 net start mysql #在cmd中手动启动命令 也可以直接在services.msc中将器设置为开机自启项。 # 关闭MySQL服务 net stop mysql
密码操作
# \*** # 知道旧密码 #方法一:登录之前修改密码: mysqladmin -uroot -p旧密码 password "新密码" #方法二:登录后修改密码:set password for root@localhost=password("新密码") # ** # 遗忘旧密码 方法一: 首先先关闭系统服务中已经启动的mysql服务端 # 1.绕过授权表启动服务(安全认证的服务停止): mysqld --skip-grant-tables; # 2.以任意密码登录root用户: mysql -uroot -P任意 # 3.更新密码: update mysql.user set password=password("新密码") where user=root and host="localhost"; # 4.刷新权限: flush privileges; 方法二: #1. 关闭mysql,可以用tskill mysqld将其杀死 #2. 在解压目录下,新建mysql配置文件my.ini #3. my.ini内容,指定 [mysqld] skip-grant-tables #4.启动mysqld #5.在cmd里直接输入mysql登录,然后操作 update mysql.user set authentication_string=password('') where user='root and host='localhost'; flush privileges; #6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了
统一字符编码
# *** # 查看数据库配置信息: \s => 统一编码 => 防止乱码(读取不方便,数据丢失) # 1.在mysql安装根目录下:创建my.ini (my.cnf) (命令:type nul>文件名.文件后缀) # 2.设置配置信息并保存 [mysqld] #port=7777 注释 character-set-server=utf8 #不能写成utf-8(会配置失败) collation-server=utf8_general_ci [client] default-character-set=utf8 # 3.重启服务 #1. 修改配置文件 [mysqld] default-character-set=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8 #mysql5.5以上:修改方式有所改动 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8 #2. 重启服务 #3. 在cmd终端进入mysql客户端后查看修改结果命令: \s show variables like '%char%'
库的基本操作
# 前提: 连接上数据库 # 1.增,创建数据库 # 采用默认编码集: create database db1; # db1为数据库名 # 自定义编码集: create database db1 charset="gbk"; # 2.查,查看数据库全部信息 # 纵观所有数据库: show databases; # 详细信息: show create database db1; # 3.改,修改数据库编码集 # alter database db1 charset="utf8"; # 4.删, 移除数据库 # drop database db1;
表的基本操作
#前提: 在具体的某个库下创建表 # 进入指定数据库: use db1 # 确定当前使用的数据库: select database(); #1.增, 创建表(字段1 类型, ..., 字段n 类型) # create table t1(name char, age int); # 2.查,查看表信息 # 纵观所有数据库: show tables; # 详细信息: show create table t1; # 表字段结构信息: desc t1; # 3.改 # 修改字段属性: alter table t1 modify name char(20); # 修改字段名: alter table t1 change name usr char(16); # 修改表名: alter table t1 rename t2; # 4.删, 移除表 # drop table t1;
字段的基本操作
# 前提: 知道具体操作的是哪张表 # 1.增, 添加字段 # insert into t1 (usr, age) values ("aa", 18),("bb", 8); # 2.查 # select * from t1; # 3.改 # update t1 set age=28 where usr="aa"; # 4.删 # delete from t1 where age>8;