Python与MySQL
文章目录
- Django 与 MySQL
- Navicat新建数据库
- 利Navicat修改MySQL密码
- Django,Excel,MySQL概念对比
- Django配置使用MySQL
- Django字段与MySQL字段对比
- SQL语句操作MySQL数据库
- MySQLdb的简单使用
- 使用pymysql (py3.x)
Django 与 MySQL
在Windows平台下,我们可以用Navicat连接MySQL
Navicat新建数据库
利Navicat修改MySQL密码
点击用户
,然后点击需要修改的用户名,便可以出现如下界面,进行修改,保存,然后重新登录
Django,Excel,MySQL概念对比
Django配置使用MySQL
Django的默认数据库(位于setting.py
)如下,我们需要手动修改一下
修改setting.py
如下
DATABASES = {'default':{'ENGINE':django.db.backends.mysql','NAME':'django','HOST':'127.0.0.1','PORT':3306,'USER':'root','PASSWORD':'admin'}
}
之后命令行启动
python manage.py runserver
如果出错,则安装mysqlclient
,安装完成后重新启动,可能还会报错,由于没有对mysql进行初始化,我们需要运行一下命令
python manage.py makemigrations
python manage.py migrate
之后重启,根据输出内容在浏览器中输入相应的IP地址 ,如127.0.0.1:8000
进入后是空表,然后我们输入127.0.0.1:8000/admin
进去管理界面,然后命令行运行
python manage.py createsuperuser
创建管理员账号,然后重启一下
Django字段与MySQL字段对比
Django | MySQL |
---|---|
CharField | varchar |
TextField | longtext |
IntegerField | int |
SQL语句操作MySQL数据库
方法一: 右键数据库名,选择命令行界面
,打开如下图
方法二: 也可以使用一下方法(具有命令提示功能)
创建MySQL账号
使用如下语句
CREATE USER 用户名@'允许IP' IDENTIFIED BY '密码'
允许IP可以是localhost 可以是’%’或者具体IP
修改权限
grant all privileges on *.* to 'root'@localhost
第一个星号表示数据库,第二个星号表示数据表
创建数据库
CREATE DATABASE 数据库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
https://blog.csdn.net/lin_bing110/article/details/80702578
创建表
CREATE TABLE 数据库名.表名称(字段1 字段类型, 字段2 字段类型
};例如
CREATE TABLE demo.users(name varchar(25)
};
或者选择哪个数据库之后,然后再创建
CREATE TABLE users(name varchar(25)
};
向表中插入新数据
INSERT INTO 表名称(字段名1,字段名2)
VALUES (值1,值2);
UPDATE 表名称
SET 字段名1='字符串',字段名2=数字
WHERE 字段名3 = 值;
删除符合条件的数据
DELETE FROM 表名称
WHERE 字段名1='字符串' AND 字段名2=数字;
MySQLdb的简单使用
from django.shortcuts import render,HttpResponse,redirect
from firstapp.models import People,Article,Comment
from django.template import Context,Template
from firstapp.form import CommentForm
import MySQLdb
def index(request):conn = MySQLdb.connect(host = 'localhost',port = 3306,user = 'root',passwd = 'admin',db = 'django',charset = 'utf8')cursor = conn.cursor()cursor.execute("SELECT * FROM firstapp_article")results = cursor.fetchamany()articles = []for result in results:articles.append({'title':result[1],'content':result[2],'like_counts':result[3],'score':result[4],'createtime':result[5]})context = {}context["articles"] = articlesreturn render(request,'index.html',context)
运行服务器,打开浏览器,会直接显示要查询的数据库中的内容
注意:
通过SQL语句查询数据
比较复杂,而model
比较容易
使用pymysql (py3.x)
安装PyMySQL
pip install pymysql
对象类比
访问数据库流程
connection对象
con = pymysql.connect(host = '',port = '',user = '',passwd = '',db = '',charset = 'utf-8' )
游标对象cursor
one = cur.fetchone()
print(one)
#获取剩余的3条记录
three = cur.fetchmany(3)
print(three)
# 获取剩余所有记录列表
rows = cur.fetchall()
print("表中剩余所有记录:", rows)
print("number of records:", len(rows))结果如下(1, 'aaa')
((2, 'bbb'), (3, 'ccc'), (4, 'ddd'))
表中所有记录: ((5, 'eee'), (6, 'fff'))
number of records: 2
事务回滚
try:cur.execute(); db.commit()print("Success")
except Exception as e:print(e)db.rollback()
execute执行流程
CRUD操作
增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)
import pymysql
conn = pymysql.connect("IP或者域名","mysql账户名","mysql密码","数据库名")
cur = conn.cursor()
#如果表存在,删除表
cur.execute("DROP TABLE IF EXISTS demo")
#建立表 (列名 类型)
cur.execute('CREATE TABLE demo(num int ,str varchar(20));')
#插入
#两种方式均可,但必须用双引号
cur.execute("INSERT INTO demo VALUES(%d, '%s')" % (1,'aaa'))
cur.execute("INSERT INTO demo VALUES(2,'bbb')")
#更新
cur.execute("UPDATE demo SET str ='ccc' where num = 1")
#查询
cur.execute("SELECT * FROM demo")
# 获取所有记录列表
rows = cur.fetchall()
print("表中所有记录:",rows)
print("number of records:",len(rows))
for i in rows:print("num=%s,str=%s" % i)
#提交事务,使上述操作生效
conn.commit()
#关闭游标对象
cur.close()
#关闭数据库连接
conn.close()
连接数据库并查询表
import pymysql# 打开数据库连接,依次为服务器IP,数据库用户名,密码,数据库db = pymysql.connect("IP","root","password","wordpress")# 使用cursor()方法获取操作游标 cursor = db.cursor()
sql = 'select * from wp_users'
try:# 执行SQL语句cursor.execute(sql)# 获取所有记录列表results = cursor.fetchall()for row in results:id = row[0]username = row[1]email = row[4]print("id :",id,"username :",username,"email :",email)
except:print("Error: unable to fetch data")
db.close()
Python与MySQL相关推荐
- python链接mysql 判断是否成功_【初学python】使用python连接mysql数据查询结果并显示...
因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...
- python操作mysql数据库实现增删改查
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...
- python查询mysql中文乱码问题
相信很多在工作中的Python小伙伴,经常会遇到一些工作上的问题,例如查询mysql中文乱码问题,Python连接mysql数据库时,读取数据库中的中文出现乱码,所有中文都显示为问号了,那么该如何解决 ...
- python操作mysql数据库依赖包_python安装mysql的依赖包mysql-python操作
一般情况下,使用pip命令安装即可: [root@dthost27 ~]# pip install mysql-python 但是在实际工作环境中,往往会安装失败,这是因为系统缺少mysql的相关依赖 ...
- Python与MySQL数据库的交互实战
作者 | Huang supreme 编辑 | 郭芮 图源 | 视觉中国 安装PyMySQL库 如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个库的安装很简单,直接 ...
- python连接MySQL并进行数据查询
python连接MySQL并进行数据查询 #建立数据库的连接 mydb = mysql.connector.connect(host="0.0.0.0",user="ro ...
- python mysql 分页_利用python对mysql表做全局模糊搜索并分页实例
在写django项目的时候,有的数据没有使用模型管理(数据表是动态添加的),所以要直接使用mysql.前端请求数据的时候可能会指定这几个参数:要请求的页号,页大小,以及检索条件. "&quo ...
- pythonmysql查询转list_使用Python将Mysql的查询数据导出到文件的方法
mysql官方提供了很多种connector,其中包括python的connector. 下载地址在:http://dev.mysql.com/downloads/connector/python/ ...
- 15.python操作mysql
15.python操作mysql 导入包 from pymysql import* 1. 创建 Connection 连接 conn=conne(host='192.168.13.130',port= ...
- Linux系统Python配置MySQL详细教程
Linux系统自带Python,且根据系统自带资源来对python配置mysql:安装需要已配置好正确的yum源: 在python未配置mysql的情形下,直接import MySQLdb的提示如下 ...
最新文章
- 非线性优化:徒手实现LM算法
- 在linux中教你通过NFS实现文件共享
- django DateField需要前端传递的格式
- python开机号_感知机(python实现)
- ACwing 2. 01背包问题(DP)
- Mac终端设置,zsh和bash环境变量配置
- Spring Cloud——服务发现与注册
- 开源API网关系统:Kong简介
- SPI(Service Provider Interface)机制
- GoWeb开发_Iris框架讲解(二):Get、Post、Put等请求及数据返回格式
- BZOJ1185[HNOI2007] 最小矩形覆盖
- 《物联网Android程序开发案例式教程》Demo1:线性布局
- js距离单位换算_在线单位换算器
- 鲜卑族的由来与现在的分布
- 获取当前时间精确到毫秒
- js去掉url中的域名
- mysql error :1114 - The table ‘XXX‘ is full
- 牛客网C++刷题《华为机试》
- 车载通信——CAN收发器选型(低功耗)
- Trust App(高通)