python连接mysql

python与MySQL数据库之间那些事

匿名 (未验证) 提交于 2019-12-02 22:51:30
Aaron使用的操作系统为macOS Sierra 10.13.2 基本的python语法都已经学完,现在从mysql连接数据库开始学习 python与mysql的连接 mysql的安装只需要通过网上搜索就能安装了,具体步骤和linux基本类似 这里需要注意的是,执行vim ~/.bash_profile语句, 在里面添加以下语句(安装路径一般是/usr/local/mysql/bin,具体看不同电脑) 1 PATH=$PATH:/usr/local/mysql/bin 随后别忘了执行以下语句非常重要,这条语句只要是执行了vim ~/.bash_profile后必须需要执行 1 source ~/.bash_profile 之后执行以下语句进行python和mysql的连接 1 pip install mysql-connector-python 这里笔者由于安装anadonda3,而里面的python版本为3.6.3,在此步骤出现了诸多问题(由于系统本身还有python2.7.14) 但是通过重启还是得到了解决,尚不清楚问题原因。 下面编写python代码如下 1 import mysql.connector as MySQLdb 2 3 conn = MySQLdb.Connect( 4 host = '127.0.0.1', 5 port = 3306, 6 user =

Django学习之mysql增删改查

匿名 (未验证) 提交于 2019-12-02 22:11:45
上节介绍了如何使用命令行操作mysql增删改查,现在介绍如何使用python管理mysql 使用pip 下载完mysql后,mysql会以pymysql模块的形式存储在pycharm的包文件里。我们通过操作pymysql包的对象来管理我们的mysql. 首先导入pymysql包并通过connet对象建立数据库连接。 import pymysql user=input('>>>输入用户名:') pwd=input('>>>输入密码:') conn= pymysql.connect( host='127.0.0.1',#数据库地址 user='root',#数据库用户名 password='1qaz2wsx',#密码 database='s23',#准备使用的数据库 port=3306,#该数据库端口 charset='utf8'#字符集 ****** ) #print(conn) #创建游标 cursor=conn.cursor()#使用游标并打开数据库 sql='select * from user where name="%s" and password="%s"'%(user,pwd) print(sql) #用游标执行原生sql ret=cursor.execute(sql) print(ret) cursor.close() conn.close() 执行结果

mysql安装及基本概念

匿名 (未验证) 提交于 2019-12-02 22:06:11
1.mysql下载安装 在官网下载5.6版本(越老稳定性越好,现在公司一般都用5.6),选择windows,64bit 。下载完解压看bin目录下是否有mysql・exe和mysqld.exe。 解压完成其实已经安装完成了(将别人的软件下载下来就是安装完成了),exe功能是将文件拷贝到硬盘。 2.mysql基本操作 套接字服务端:用cd切换路径到mysql的bin目录,先开启服务端 mysqld・exe,此时套接字服务端启动起来了,默认ip:127.0.0.1 默认端口:3306 套接字客户端:用cd切换路径到mysql的bin目录,输入命令mysql -h127.0.0.1 -P 3306 -uroot -p #连接服务端ip和port(注意端口是大写的p,-u后面跟用户名 不用空格,root是管理员,-p后面是密码(如果密码带空格需要加引号,如-p“1 23” 不加引号会把密码当成1),初始没有密码,就是建立一个管理员账号) select user();(后面有分号要注意) 查看当前登录的用户 localhost是在本地登录,可以在cmd查看服务端和客户端进程,都可以查看到。 quit;退出 mysqld --verbose --help | findstr bind 查看服务端的绑定方法 mysqld --bind-address = "0.0.0.0" 绑定ip

MySQL与DevC++的连接问题

匿名 (未验证) 提交于 2019-12-02 22:06:11
0.引言    MySQL作为当前的一个主流的开源的关系型数据库,受到大家的广泛关注。DevC++也作为一个开源的简单的C++编辑器,有着比VS更简便更快捷的编译。但是目前网上,却很少有对 MySQL连接DevC++的链接,大多数都是MySQL链接VS,或者是针对Java,Python的连接教程。本文章,将弥补这一缺点,本人耗费了大量时间,从多个网站上查询类似的信息,并将以整合。如若有些不妥的地方,也请读者见谅。 1.准备工作    在DevC++链接数据时,我们首先需要一些准备操作,以保证后续的操作。   1.DevC++安装MySQL.Devpak   下面提供我的百度网盘共享地址,可以直接下载:     链接:https://pan.baidu.com/s/1Y6q0emGEsaMU5GQZNLf3YQ     密码:4lti   MySQL Connecter/C++官网地址:https://dev.mysql.com/downloads/connector/cpp/1.1.html   安装完成后,在DevC++的工具栏里可以找到Package Manager,即安装完成。        2.MySQL的安装准备   安装版本因人而异,下面提供官网上的一个下载地址:https://dev.mysql.com/downloads/installer/   安装完成后

Python与Mysql

匿名 (未验证) 提交于 2019-12-02 22:06:11
安装 安装 sudo apt-get install mysql-server mysql-client 然后按照提示输入 管理服务 启动 service mysql start ֹͣ service mysql stop 重启 service mysql restart 允许远程连接 找到mysql配置文件并修改 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 将bind-address=127.0.0.1注释 登录mysql,运行命令 grant all privileges on *.* to 'root'@'%' identified by 'mysql' with grant option; flush privileges; 重启mysql 字段类型 在mysql中包含的数据类型很多,这里主要列出来常用的几种 数字:int,decimal 字符串:char,varchar,text 日期:datetime,timestamp 布尔:bit 约束 主键primary key 非空not null Ωһunique 默认default 外键foreign key shell> mysql -u USERNAME -p PASSWORD -h IPV4 -p PORT 数据库操作 创建数据库 create database 数据库名

MySQL笔记2――USE和SHOW命令

匿名 (未验证) 提交于 2019-12-02 22:06:11
在你最初连接到MySQL时,没有任何数据库打开供你使用。在你能执行任意数据库操作前,需要选择一个数据库。 为此,可使用USE关键字。 (1)返回可用数据库的一个列表,可输入: SHOW DATABASES; (2)为了使用crashcourse数据库,应该输入以下内容: USE crashcourse ; 记住, 必须先使用USE打开数据库,才能读取其中的数据。 (3)返回当前选择的数据库内可用表的列表,可使用 本例中,显示了 crashcourse数据库内的表: (4) SHOW也可以用来显示表列,可输入: SHOW COLUMNS FROM customers; SHOW COLUMNS 要求给出一个表名 ( 这个例子中的FROM customers),它对每个字段返回一行,行中包含字段名、数据 类型、是否允许NULL、键信息、默认值以及其他信息(如字段cust_id的auto_increment)。 某些表列需要 Ψһֵ 。例如,订单编号、 雇员ID或(如上面例子中所示的)顾客ID。在每个行添加到表 中时,MySQL可以自动地为每个行分配下一个可用编号,不 用在添加一行时手动分配唯一值(这样做必须记住最后一次使 用的值)。这个功能就是所谓的自动增量。如果需要它,则必 须在用CREATE语句创建表时把它作为表定义的组成部分。 P.S.唯一值: 可以通过(随机数+时间戳

Django 连接MySQL的驱动设置

匿名 (未验证) 提交于 2019-12-02 22:06:11
  对于在Django 中连接MySQL 的驱动,有以下三种:    1) mysqlclient   2) mysql-connector-python    3) pymysql (建议:这个包已经有一年未升级了,本人不建议使用)。   下图是django 官方文档对mysql 的驱动的说明:   现对这2个驱动,做下实验: 环境: PC1 centos7 mysql8.0.17 PC2 centos7 python3.7.4, pycharm 社区版 一. mysqlclient 的安装: (注意:mysql8.0 的密码加密方式是:caching_sha2_password, 而不是 5.5, 5.6, 5.7 版本的 mysql_native_password。 所以,mysqlclient 暂时只能连接mysql8.0 以下的版本)   A. 针对不同版本的linux, 可以参考: https://pypi.org/project/mysqlclient/ 本文以centos系统为例。   B. 安装依赖包: yum install python-devel python3-devel mysql-devel   C. 安装mysqlclient 包: pip install mysqlclient   D. 创建一个Django 的项目。修改其setting 文件: 

Python3 操作Mysql数据库

匿名 (未验证) 提交于 2019-12-02 22:06:11
Pymysql介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,而Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 通用步骤: 1.引入模块 2.获取与数据库的连接 3.执行SQL语句和存储过程 4.关闭数据库连接 PyMySQL 安装 1.打开cmd命令 cd C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts #切换目录 pip install pymysql 数据库连接 import pymysql #模块导入 #打开数据库连接 db = pymysql.connect( host='数据库ip', user='用户名, passwd='密码', db='数据库名', port=3306, charset='utf8' ) #使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() #使用 execute() 方法执行 SQL 查询 cursor.execute("SELECT VERSION()") #使用 fetchone() 方法获取单条数据. data = cursor

Pycharm添加Mysql数据库的坑

匿名 (未验证) 提交于 2019-12-02 22:02:20
1.Did you install mysqlclient? 解决方法: Django连接MySQL时默认使用MySQLdb驱动,但MySQLdb不支持Python3,因此这里将MySQL驱动设置为pymysql,使用 pip install pymysql 进行安装,然后在工程文件__init__.py添加以下代码即可。 #安装pymysql pip install pymysql #__init__.py import pymysql pymysql.install_as_MySQLdb() 第一种: django降到2.1.4版本就OK了 第二种(仍使用django 2.2版本): #找到Python环境下 django包,并进入到backends下的mysql文件夹 cd /opt/anaconda3/envs/envAGC_Mini/lib/python3.6/site-packages/django/db/backends/mysql #文件列表如下 # 找到base.py文件,注释掉 base.py 中如下部分(35/36行) if version < (1, 3, 3): raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database._

【Mysql】―― 报错:Can't call commit when autocommit=true

匿名 (未验证) 提交于 2019-12-02 22:02:20
2019独角兽企业重金招聘Python工程师标准>>> java . sql . SQLException : Can ' t call commit when autocommit=true at com.mysql.jdbc.SQLError.createSQLException(SQLError.java: 934 ) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java: 931 ) at com.mysql.jdbc.ConnectionImpl.commit(ConnectionImpl.java: 1646 )   今天遇到这个问题,使用hibernate的时候报上面的错!   上网查了下原因,是因为hibernate中使用了,commit()或者rollback(),这两个都需要一个先决条件,就是mysql的自动提交功能要关闭。   commit()的作用是:提交上一次提交或者回滚后的修改的内容,并释放连接中的相关内容。   rollback()的作用是:回滚到上一次提交或者回滚时的内容。   上面两个方法都只能在已禁用自动提交的模式中使用。   因此, 关闭mysql自动提交 就可以了。   在mysql客户端中:    mysql > select @ @autocommit ;