Python学习—数据库篇之初识mysql
一、下载与安装
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
想要使用MySQL来存储并操作数据,则需要做几件事情:
a. 安装MySQL服务端
b. 安装MySQL客户端
c. 【客户端】连接【服务端】
d. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)
地址: http:
//dev.mysql.com/downloads/mysql/
1.根据自己计算机系统的相关版本,下载压缩包,解压到任意目录
2.服务器端运行起来
a.一直进入解压目录到bin文件夹的cmd窗口,执行命令:mysqld (如果报找不到data文件夹错误,在与bin文件夹同级建立data文件夹)
b.建立好data文件夹后,重新进入bin目录的cmd窗口中,执行初始化mysql命令:mysqld --initialize-insecure (data文件夹中会多出许多文件)
初始化后会创建一个默认用户root,无登录密码
c.在当前窗口执行启动服务器命令:mysqld (此时会hold住一个窗口,mysql服务器启动成功)
3.客户端实现连接
重开一个到bin文件夹目录的cmd窗口,执行命令:mysql -u root -p (-u代表用户名,-p代表密码,此时为初始化时创建的root用户,无密码)
Enter password 时直接回车,就能进入mysql客户端界面
输入show databases;就可以看到mysql内部的相关数据库
4.制作mysql的windows服务
在使用mysql时,需要先起一个服务器,再起一个客户端连接使用,如果关闭了服务器窗口,mysql也将无法使用;所以为了方便使用,可以将制作一个mysql的windows服务器,就可以随时使用mysql了。
a.配置环境变量:【右键计算机】
-
-
》【属性】
-
-
》【高级系统设置】
-
-
》【高级】
-
-
》【环境变量】
-
-
》【在第二个内容框中找到 变量名为Path 的一行,双击】
-
-
> 【将MySQL的
bin
目录路径追加到变值值中,用 ; 分割】
;
b.进入bin目录的cmd窗口,执行命令:mysqld --install (如果要移除MySQL的Windows服务,执行此命令:mysqld --remove)
c.注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:net start mysql net stop mysql
二、用户管理
此前在初始化mysql时,我们创建了一个root用户,该用户实际上为超级管理员的角色,拥有最高的权限;我们可以通过操作mysql数据库中user表来对用户进行管理。使用root用户登录数据库后执行以下操作:
show databases; ----- 查看mysql的所有数据库
use mysql; ----- 使用mysql数据库
show tables; ----- 查看当前数据库所有的表
desc user; ----- 查看user表中的所有属性
select host,user from user; ----- 查看user表中的host和user属性值
可以看到,我们使用的root用户其实早已经记录在user表中了;那么如果我们想添加用户或者对原有的用户信息进行修改,是否可以直接使用sql语句中操作表的语句来实现呢?答案是可以的,但是考虑到user表的重要程度,一旦破坏了表中原有的数据,可能会对用户使用造成影响,因此,mysql有专门用于用户管理的特殊命令,且只对user表生效。
1.创建用户:
create user
用户名
@
IP地址
identified by
'密码'
;
我们分别使用cdc用户和cdcy用户进行登录验证
可以看到,cdc账号登陆成功,而cdcy账号登陆失败,其实原因就在于两者的host不同,如果在登录时不特意强调ip地址,都会默认为是本机登陆,因此对于不是本机的账号必 须声明其host地址
2.删除用户:drop user
用户名'
@
'IP地址;
3.修改用户:rename user
用户名
@
IP地址
to
新用户名
@
IP地址
;
4.修改密码:set password
for
用户名
@
IP地址
= Password(
'新密码'
)
5.用户授权
我们分别使用root和alex登陆并查看数据库中的信息:
(root用户下)
(alex用户下)
可以看到,alex账号所查询到的信息并没有root用户所查询到的多,那是因为相比root用户,alex的权限较低。root用户可以将相关的权限授予其他用户。
例:将t对est数据库中class表的查询权限授予alex用户
(root用户下授权)
(alex用户下)
show grants for '用户'@'IP地址' -- 查看权限
grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权
revoke 权限 on 数据库.表 from '用户'@'IP地址' -- 取消权限
all privileges 除grant外的所有权限
select 仅查权限
select,insert 查和插入权限
...
usage 无访问权限
alter 使用alter table
alter routine 使用alter procedure和drop procedure
create 使用create table
create routine 使用create procedure
create temporary tables 使用create temporary tables
create user 使用create user、drop user、rename user和revoke all privileges
create view 使用create view
delete 使用delete
drop 使用drop table
execute 使用call和存储过程
file 使用select into outfile 和 load data infile
grant option 使用grant 和 revoke
index 使用index
insert 使用insert
lock tables 使用lock table
process 使用show full processlist
select 使用select
show databases 使用show databases
show view 使用show view
update 使用update
reload 使用flush
shutdown 使用mysqladmin shutdown(关闭MySQL)
superPython学习—数据库篇之初识mysql的更多相关文章
- Python学习—数据库篇之SQL语句
一.数据库级别 1.显示数据库 show databases; 默认数据库: mysql - 用户权限相关数据 test - 用于用户测试数据 information_schema - MySQL本身 ...
- Python学习—数据库篇之SQL补充
一.SQL注入问题 在使用pymysql进行信息查询时,推荐使用传参的方式,禁止使用字符串拼接方式,因为字符串拼接往往会带来sql注入的问题 # -*- coding:utf-8 -*- # auth ...
- Python学习—数据库篇之索引
一.索引简介 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可,对于索引,会保存在额外的文件中.在mys ...
- Python学习—数据库篇之pymysql
一.pymysql简介 对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql是Python中操作MySQL的模块,其使用方法和MySQ ...
- Python学习—数据库篇之练习题
Mysql测试题 一.表关系 请创建如下表,并创建相关约束 二.操作表 0.在成绩表中同时显示出对应的课程名和学生名 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: ...
- Python学习—框架篇之初识Django
什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的W ...
- python、第一篇:初识数据库
一 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件 ...
- MySQL数据库篇之初识数据库
主要知识点: 一.数据库概述 二.mysql安装与基本管理 1️⃣ 数据库概述 1.什么是数据(Data)? 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音. ...
- python自动化测试入门篇-jemter连接mysql数据库
jmeter对数据库的操作主要包括以下几个步骤:1.导入mysqlde jdbc的jar包:2.创建数据库连接配置:3.线程组添加jdbc request;4.启动按钮,添加查看结果树 一.准备好驱动 ...
随机推荐
- 一种C语言实现面向对象特性的继承,多态
基类: //.h typedef int (*TELE_SEND_CB)(char *pdata, int len); //函数表结构 typedef struct tele_pro_base_vtb ...
- 工控随笔_08_西门子_Win10安装Step7.V5.6中文版授权管理器不能正常启动
随着Windows系统的不断升级,西门子工控软件也不断升级,但是有时候在安装西门子 软件的时候会出现授权管理器不能正常启动的情况. 图 Step7 因为自动许可证管理器不能正常打开 如上图所示,报S ...
- WEB 性能优化导图
看了一下网上对于web性能优化的一些帖子,不是很直观,花了点时间画了一个思维导图. refers: https://segmentfault.com/a/1190000011936772 https: ...
- Some elementary algorithms on discrete differential geometry(DDGSpring2016 Demos)
I studied the on-line course(http://brickisland.net/DDGSpring2016/) by myself, and here are the scre ...
- nginx1.14.0版本高可用——keepalived双机热备
nginx不支持主从,所以我们需要使用keepalive支持高可用. keepalived重要知识点 在局域网内,每个主机上各安装一个keepalived,注意关闭防火墙firewalld,然后设定一 ...
- source insight 中文乱码解决方法
options->preferences -> Files-> default encoding: 选择 GB2312 CP:936
- Immutable 学习
1.什么是Immutable Data? Immutable Data 就是一旦创建,就不能再被更改的数据.对 Immutable 对象的任何修改或添加删除操作都会返回一个新的 Immutable 对 ...
- socket开发总结
1.connect 阻塞socket connect时会等待返回结果,等于0表示成功,小于0表示失败. 非阻塞socket connect时会立刻返回结果,等于0表示成功,小于0且errno == E ...
- ubuntu go环境安装搭建
一.安装必备环境 sudo apt-get install git golang-go vim sublime-text-installer 如果出现安装错误,进行修复安装: sudo apt-get ...
- Supervisor配置
Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统 ...