简单介绍下MySQL与pymysql相关知识
admin
2023-07-23 08:22:25
0

下面讲讲关于MySQL与pymysql相关知识,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL与pymysql相关知识这篇文章你一定会有所受益。 

一、概述

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中。Python操作MySQL主要使用pymsql模块和ORM框架 SQLAchemy。

二、MySQL安装

MySQL官方下载地址:点这里

windows安装:

1、下载
MySQL Community Server 5.7.23

2、解压
解压至D:\mysql-5.7.23-winx64目录中

3、初始化(默认不给root用户设置密码)
D:\>cd mysql-5.7.23-winx64
D:\mysql-5.7.23-winx64>cd bin
D:\mysql-5.7.23-winx64\bin>mysqld --initialize-insecure

4、启动服务
D:\mysql-5.7.23-winx64\bin>mysqld.exe

5、客户端连接云服务器端
d:\mysql-5.7.23-winx64\bin>mysql.exe -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.23 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

6、添加环境变量
【右键此电脑】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【新建】-->【将MySQL的bin目录路径复制进去】

7、注册windows服务
D:\mysql-5.7.23-winx64\bin>mysqld.exe --install
Service successfully installed.

如想移除服务可跟参数--remove

8、使用net管理mysql服务
# 启动MySQL服务
net start mysql

# 关闭MySQL服务
net stop mysql

Linux安装:

安装:
yum install mariadb-server -y
yum install mariadb -y

服务端启动
systemctl start mariadb-server

三、数据库基础知识

简单介绍下MySQL与pymysql相关知识

1、mysql用户与权限管理

1、显示数据库
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

2、用户管理
如果你需要添加 MySQL 用户,你只需要在 mysql 数据库中的 user 表添加新用户即可。
创建用户
    create user '用户名'@'IP地址' identified by '密码';
删除用户
    drop user '用户名'@'IP地址';
修改用户
    rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
修改密码
    set password for '用户名'@'IP地址' = Password('新密码')
重载:在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。
    FLUSH PRIVILEGES

用户名@IP地址 表示用户只能在该IP下才能访问
用户名@192.168.1.% 表示用户只能在该IP段下才能访问(通配符%表示任意)
用户名@% 表示用户可以再任意IP下访问(默认IP地址为%)

3、授权管理
 授权jym用户用于所有数据库的所有权限
    grant all privileges on *.* to 'jym'@'192.168.%.%';
 查看权限
    show grants for 'jym'@'192.168.%.%';
 权限列表
     all privileges :除grant外的所有权限
     select :仅查权限
     select,insert  :查和插入权限
 ...
  对于目标数据库
    数据库名.*           数据库中的所有
    数据库名.表          指定数据库中的某张表
    数据库名.存储过程     指定数据库中的存储过程
    *.*                所有数据库

2、基本SQL语句

1、创建数据库
mysql> CREATE DATABASE pydb;

2、删除数据库
mysql> DROP DATABASE pydb;

3、使用数据库
mysql> use pydb;

4、创建表
mysql> CREATE TABLE IF NOT EXISTS `py_tbl`(
    ->    `py_id` INT UNSIGNED AUTO_INCREMENT,
    ->    `py_title` VARCHAR(100) NOT NULL,
    ->    `py_author` VARCHAR(40) NOT NULL,
    ->    `submission_date` DATE,
    ->    PRIMARY KEY ( `py_id` )
    -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.02 sec)

解析:
1.null表示空,非字符串,not null表示不可空。
2.AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
3.PRIMARY KEY关键字用于定义列为主键。主键是一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。
4.ENGINE 设置存储引擎,CHARSET 设置编码。

5、删除表
mysql> DROP TABLE py_tb1;

6、增
mysql> CREATE TABLE py_tb1(nid INT,name VARCHAR(20),password VARCHAR(64));
mysql> INSERT INTO py_tb1(nid,name,password) VALUES(1,'aaa','123');

mysql> INSERT INTO py_tb1(nid,name,password) VALUES(2,'bbb','123');

7、查
mysql> SELECT * FROM py_tb1;
+------+------+----------+
| nid  | name | password |
+------+------+----------+
|    1 | aaa  | 123      |
|    2 | bbb  | 123      |
+------+------+----------+
2 rows in set (0.00 sec)

8、删
mysql> delete from py_tb1 where nid=2 and name='bbb';

9、改
mysql> update py_tb1 set name='newaaa' where nid=1;

四、pymysql

pymysql是python中操作mysql的模块。

简单介绍下MySQL与pymysql相关知识

1、安装

pip3 install pymysql

2、插入数据

import pymysql

# 创建连接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='pydb')
# 创建游标
cursor = conn.cursor()

# 执行SQL,并返回受影响行数
ret = cursor.execute("INSERT INTO py_tbl (py_title, py_author, submission_date) VALUES ('python', 'admin', NOW());")

# 提交,不然无法保存新建或者修改的数据
conn.commit()

# 关闭游标
cursor.close()
# 关闭连接
conn.close()

3、查询数据

import pymysql.cursors

# 创建连接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='pydb')
# 创建游标
cursor = conn.cursor()

sql = "SELECT * FROM py_tbl;"
# 执行SQL
cursor.execute(sql)

# 查询数据库单条数据
#ret = cursor.fetchone()
#print(ret)

# 查询数据库多条数据
ret = cursor.fetchall()
for data in ret:
    print(data)

# 关闭数据连接
conn.close()

查询结果

(1, 'MySQL', 'root', datetime.date(2018, 8, 3))
(2, 'python', 'admin', datetime.date(2018, 8, 3))

4、pymysql主要方法

cursor():创建数据库游标。
execute():执行SQL语句。
commit():将数据库的操作真正的提交到数据。
fetchone() :查询单条数据。
fetchall() :查询多条数据。

close() :关闭数据连接。

对于以上MySQL与pymysql相关知识,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。

相关内容

热门资讯

63岁男子徒步南太行失联超50... 日前,河南新乡63岁男子苗秀运独自徒步南太行前往山西平顺县途中失联的消息引发社会关注。截至6月24日...
冰箱里面有水流声但是不制冷了是... 1、可能是因为压缩机出现故障。2、可能是是因为制冷系统当中已经没有了制冷剂所导致。3、可能是长时间使...
冰箱不制冷里面有水流声 1、有可能是温控器的档位没有调节到位,或者是温控器出现了故障,导致冰箱出现了不制冷的问题。2、冰箱有...
郑丽文访陆之旅遭绿营抹黑,国民... 海峡导报综合报道 中国国民党23日发布党主席郑丽文此前率团参访大陆的纪录片,遭到民进党批评抹黑。国民...
冰箱冷藏室不制冷有水流声怎么办 制冷剂缺乏引起冰箱不制冷:大部分双门电冰箱毛细管出口是先进到冷冻室开始循环,也就是说在冷冻室开始制冷...
冰箱内部有水流声不制冷是怎么回... 1、当冰箱内部如果听到有不断的流水声,这种现象是正常的,因为是制冷剂在管路里运行时产生的回音。2、通...
电热水器风压故障如何处理 电热水器作为家庭常用电器之一,其正常运行对于家庭生活有着至关重要的影响。然而在使用过程中,偶尔会遇到...
震惊!男子取款1万ATM机只吐...   男子取款1万ATM机只吐5千 银行回应  【男子取款1万ATM机只吐5千 银行回应】6月19日凌...
塔利班再掌权来首次,阿代表团访... 新华社北京6月24日电 欧盟官员与阿富汗政府代表团23日首次在欧盟总部所在地比利时布鲁塞尔会谈,讨论...
从沟通桥梁变交流壁垒!带头搞“... 近一段时间,台陆委会频繁登上新闻热搜,继主委邱垂正威胁查处台东县长饶庆铃和五家农渔团体后,副主委梁文...