第一章
第二件事情:数据库了解
1.学习前提条件--会一门语言
2.为什么学习数据库?
所有的电子设备操作核心----数据
编程语言如何进行数据处理:
1)--控制台打印数据
2) --变量
3 )---数组
4 ) ---Java---集合框架--临时
5 )-文件存储--持久化
文件存储--存在问题:
安全问题
读写困难
拓展性
解决问题:好事之人-----写一个专门用于管理数据---数据库
3.数据库相关概念
4.数据库选择
大型 中型 小型
国内:
普通的公司:
mysql【免费】 sqlite 【免费】 sqlserver【出现】 【收费】
财务:
excel或者access
大公司【有钱的】:
oracle db2
我们的学习:--选择用的多的----mysql
5.mysql数据库
概念:
中型的关系型数据的管理系统,有瑞典 MysqlAB公司开发的
后来被Oralce收购的
网站的数据库服务
数据库软件分类:
官方:
单独的数据库服务软件---mysql-server
包含了提供的开发工具的数据库服务软件---mysgl-com.....
第三方集成开发工具
数据库软件下载
官方-官网
原本的官网:https://www.mysql.com/
I/
oracle官网:https://www.oracle.com/downloads/#category-database
第三方-去第三方官网
phpstudy---https://m.xp.cn/
数据库安装卸载【重点】
检查环境:
系统中是否存在安装文件
服务中是否又启动的mysql
右击计算机----管理---服务与应用---服务
注册表
win+R---输入regedit
路径
HKEY_CURRENT_USERLSoftware
HKEY_CURRENT_USER\System
HKEY_LOCAL_MACHINE\Software -
安装和使用第三方工具
phestudy---https://m.xp.cn/
宝塔--https:/ /www.bt.cn/new/index.html
XAMPP----
LAMP
EasyPHP
注意事项:
1)一台电脑可以同时安装多个数据库----只要端口号不同
2)使用官方的一定一定一定要卸载干净再安装
使用第三方工具:
—定要停止在运行的服务,再关闭软件
6.数据库进行数据的存储
登录到服务,数据库服务软件数据后台运行软件,需要使用客户端管理工具
客户端管理工具三种:
1)命令行工具
Dos或者自己提供的shell工具
2)图形化界面工具:
workbench ----mysql官方提供的
Navicate----第三方--收费的
SqlFont ------第三方--免费的
Sqlyog----第三方--收费
等等
3 )编程语言连接
分析:
数据库处理数据的服务是独立的 管理工具独立
两者如何关联交流---网络技术----ip地址+端口----账号和密码
数据库软件的目录结构:
bin目录----数据库提供的操作工具
includ--源码
share---数据库默认信息【支持的语言,默认资源脚本】
7.命令行如何操作数据库软件
配置环境变量:将数据库的工具交给操作系统
将mysql 的server的bin目录交给操作系统path
常用的命令:
命令连接登录到数据库服务软件
mysql -h lP地址-p端口号-u账号-p密码
本在本地同一台机器
mysql -u账号 -p密码
退出登录的命令:
exit quiet
查看当前的用户:
select user();
查看版本:
select version();
查看当前有的数据库:
show databases;
选择一个数据库
use 数据库名;
查看数据库中的表
show tables;
查看当前数据库:
8.图形化工具
图形化工具 数据库服务---网络通信
数据库自带的
workbench 连接 登录
navicate
第二章
使用window+R进行系统自带的程序
登录
mysql -u用户 -p密码
查看所有的用户信息:
所有用户:select user,host from mysql,user;
当前用户:select user ();
3.创建用户
create user 用户名@主机号【identified by 密码】;
纠错:
%----任意主机可以连接当前数据库服务
192.168.4% ----表示是192.168.4下面所有的主机可以连接当前数据库服务
4.删除
drop user 用户名@主机信息
5.退出登录
exit 或者quite
6.查看用户所拥有的权限
1)查看自己的权限
show grants;
新用户所拥有的的权限:usege
2)管理员或者拥有查看别人权限的用户查看别人的拥有的权限
show grants for 用户名@主机名或者ip
7.查看mysql中所有的权限
show privileges;
8.权限关系
操作的权限命名 数据库表中实际管理权限的命名
select select_priv
create user create_user_priv
9.常见的权限
insert
select
update
delete
表格数据库用户结构操作
create创建
create user
create database
create table
create view
drop 删除
after 修改
show 显示
10.给新用户赋予权限【grant】
语法:
grant 权限1,权限2....... on 数据库.表名 to 用户名@主机号或者IP地址【with grant option】
说明:
权限列表:可以同时给用户赋予多个权限。使用逗号来分割
数据库名.表名: 可以指定哪些数据库或者表可以被当前用户有对应权限操作
所有的数据库所有的表都可以被操作: *.*
用户名@主机
【with grant option】:需要被赋予权限的用户给其他用户赋权
权限最初的拥有者是:root管理,管理员赋予权的时候没有指定with grant option,不允许用户给其他用户赋权,
注意:mysql 数据中没权限给定不是绝对的,列如如果给了create user,同时开启after user drop
一般使用数据的时候都是不适应默认用户去操作数据,都是创建新的用户按需操作
11.收回【revoke】权限的语法
语法:
revoke 权限列表 on数据库.表名 from 用户名@主机名或者IP地址
语法:
收回所有的权限和权限下发的语法
revoke all.grant option from 用户@主机名
revoke all from 用户@主机名
第三章
1.查看编码
查看当前数据库支持的编码有哪些命令
show character set;
查看当前mysql环境的编码
show variables like ‘char%';
2.修改编码
命令修改:
set 编码名字=编码值
配置文件修改:
Windows环境
安装目录【跟bin同一个目录】下有一个my.ini 配置文件 ----MySQL核心配置
有的时候没有这个文件:my-medium.ini这个文件
--复制到安装目录,修改名字为my.ini
修改:【client】【mysqld】后面添加或修改default-character-set=编码
Linux环境
配置文件:my.cnf
3.练习
创建一个新的用户 charuser
给与全部权限
查看当前数据库所有的编码
讲client和results 编码改成utf16 client不可以 results可以
将system 编码改成gbk system不可以
将server修改为utf32 server可以
查看修改结果
复原代码
第五件事情:数据库如何操作数据之后SQL语言
1.问题---数据库软件
客户端---操作业务--与数据库服务沟通
数据库服务软件---存储和处理数据--后台掩藏运行软件
通过客户端告诉数据库服务该如何操作?
通过编写指令告诉数据库服务---进行相应的操作
数据操作怎么处理?
也可以通过命令指令--让数据库服务
学习数据库的最终目的:
编程语言获取的数据方便安全的持续化存储
一门语言和一个软件之间如何沟通?
编程语言来说---认识数据+语言+指令
需要数据库提供一套指令或者指令集合来操作数据
数据库提供了俩门指令语言
---SQL
---PLSQL【中型数据库高版本+大型数据库必备】
2.sql
structure query language 结构化查询语言
结构化: 固定语言写法
查询:重点获取自己想要的数据
语言
关系型数据库核心
关系数据库较多---每个数据库各自为战---定义基础规范
sql-92----
sql-1999--
sql-2003---
标准的定义---基础通用+协议规范+解析方式
每一个数据可以自己开发一些特殊用于指令
3.sql包含的内容
SQL语言划分四大模块语言:
DDL【DATA Definition Language】:数据定义语言
作用:用来操作用户 数据库 表,试图的数据库结构
create【创建】 drop【删除】 alter【修改】
DML【Dtae Manipilation language】:数据库操作语言
作用:主要用户处理数据库表中的数据
insert 【插入】 delete【删除】 update【修改】select【查询】
注意:select 单独分类一类 DQL【Date Query Languages】
DCL【Date Control Languages】:数据控制语言
作用:控制数据使用范围,用户权限管理
grant【赋予】 revoke【收回】
TCL【Transacton Control Languages】:事务控制语言
作用:控制操作过程事务【失误】
commit【提交】 rollback【回滚】 savepoint【保持点】
4.学习这四门语言完成数据库业务---数据库的结构
5.操作数据之存储引擎
主要数据库的发动机,用户数据库与文件之间转化
因为数据库操作数据形式不同,所以与数据库定义多个存储引擎
常用:innoDB, MyisaM Memory
1)查看数据库支持的存储引擎
show engines;
2)存储引擎之--innoDB
8.0默认存储引擎为innoDB
8.0之前默认是MyisM
优势:
提供了完整的事务处理,有很好的容灾能力
提供了外键支持---多表关联查询
提供自增操作 auto_increment
支持并发操作
缺点:读写数据慢,占用空间大
3)MyISaM
80.之前默认存储引擎
优点:
将数据表拆分为三块:表结构,数据,索引
存储数据速度快,占用空间小
缺点:
不支持事务处理,不支持并发操作
4)Memory
内存存储处理数据----磁盘上也会有一个临时文件
优点:
速度亏啊,方便
缺点:
数据生命周期短依赖内存
第六件事情:数据操作有----数据库
1.什么事数据库?
管理数据的最小单元 每一个数据库对应一个应用【常规应用】
2.查看数据库
查看当前所有的数据库:show databases;
查看当前使用的数据库:select database();
进入数据库:use 数据库名
3.创建数据
createdatabase【if not exist】数据库名;
if not exist:如果数据库不存在
标签:----,复习,--,数据库,mysql,---,sql,权限 From: https://www.cnblogs.com/1011-zslnb/p/17635830.html