热门IT资讯网

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

发表于:2024-11-29 作者:热门IT资讯网编辑
编辑最后更新 2024年11月29日,下面讲讲关于MySQL与pymysql相关知识,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL与pymysql相关知识这篇文章你一定会有所受益。一、概述MySQL

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

一、概述

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

二、MySQL安装

MySQL官方下载地址:点这里

windows安装:

1、下载MySQL Community Server 5.7.232、解压解压至D:\mysql-5.7.23-winx64目录中3、初始化(默认不给root用户设置密码)D:\>cd mysql-5.7.23-winx64D:\mysql-5.7.23-winx64>cd binD:\mysql-5.7.23-winx64\bin>mysqld --initialize-insecure4、启动服务D:\mysql-5.7.23-winx64\bin>mysqld.exe5、客户端连接云服务器端d:\mysql-5.7.23-winx64\bin>mysql.exe -u root -pEnter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 2Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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 --installService successfully installed.如想移除服务可跟参数--remove8、使用net管理mysql服务# 启动MySQL服务net start mysql# 关闭MySQL服务net stop mysql

Linux安装:

安装:yum install mariadb-server -yyum install mariadb -y服务端启动systemctl start mariadb-server

三、数据库基础知识

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的模块。

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;"# 执行SQLcursor.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相关知识,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。
0