学py感觉还是用linux操作系统比较好,下载安装mysql很简单,linux里面都有自带的,但是要用python去用mysql我们就得安装一下他的模块,因为python里面没有自带他的模块,用yum安装版本比较老,自己手动下载安装是最好的,他的模块的下载链接https://pypi.python.org/pypi/MySQL-python/下载最新的1.2.5的模块压缩包,然后进入那个mysql-python-1.2.5目录下安装模块就好了,用代码 python setup.py install,

好了就可以导用了,导用用 import mySQLdb,如果没有动静的话就是没问题了。如果遇到找不到mysql_config文件时,安装mysql-devel yum install python-devel,yum -y install mysql-devel 。好了python setup.py install一下

现在就来熟悉熟悉,练习练习一下mysql的基本操作,要多练习,太久没有练习就忘记了。

关于mysql,mysql的文件在/ect/my.cnf下,而我们自己创建的mysql文件则会保存在/var/lib/mysql下,会自动把新创建的数据库生成与他相对应的名字的文件,mysql的话第一次进入是没有密码的,直接mysql -u root -p然后回车就可以了,如果不行的话就是没有安装数据库,用

想创建数据库用户和密码 举例:grant all privileges on *.* to wudongyu@localhost identified by 'a1234567890.';

mysql是规定一定要大写的,但是不大写也没有事,结尾的话一定要用;这个符号,表示结束的意思,没有输的话直接回车,会可以继续输入,在比如输入很长很长的命令就可以直接回车,看得比较清楚。

进入数据库有密码的情况下的话 mysql -u 用户名 -p

没有密码的话直接 mysql -u -用户名

查看当前所有的数据库 show databases;

连接其中的一个数据库 use test01;

创建一个数据库 create database test02;

查看test01这个库下的表 show tables;

现在在test02这个库下创建表名为user,里面分别有name和password两个字段

CREATE table user (name VARCHAR(20),password VARCHAR(20));

创建了表,并且我们也给他设置了一些字段,现在就向表里面填入信息

insert into user values('wudongyu','a1234567');

没事再插入一条练习练习,哈哈

insert into user values('yyyyyyyyyy','123321');

现在我们来查看一下user表下的刚刚创建的数据 select * from user;

也可以这样写

如果我们表里面的数据错了,想修改一下,比如把yyyyyy修改成y

update user set name='y' where name = 'yyyyyy';

如果想删掉某一个数据的,那就更加简单了,直接 delete from user where name = 'y';

基本的增删改就这样了,现在我们来用python操作mysql数据库的一些基础操作了

我一般都是用vim写,现在先写一个创建表

里面的内容是先导入数据库,然后连接,host是主机地址,port是端口号,user是用户,passwd是密码,db是数据库名字。

然后cur=conn.cursor()是通过获取的数据库然后连接conn下的cursor()方法来创建游标,游标就是系统为用户开设的一个数据缓冲区,用来存放sql语句的执行结果。

然后就通过我们创建的游标cur来操作execute()方法来写纯sql的语句,这些和直接操作mysql一样。

cur.fetchall()方法是接收返回执行结果

写好了就关闭游标cur.close()

然后conn.commit()方法是提交事物,我们在向数据库插入一条数据的时候必须要有这个方法,否则数据就不会被插入

最后就关闭数据库连接conn.close()

这样就创建一个表成功了,现在来写入信息。

创建信息和上面的execute()方法写入sql语句一模一样,但是那样的话比较不方便,因为我要有时候要插入的信息比较多就很麻烦了,例如这样就还可以,只有一条,但是多条就不太行了。

所以我们想写入多条的时候也可以以元组的形式来写,就比较整齐又快捷

有木有有木有有?

改呢,和我增是一个道理,代码和直接在数据库操作一样。

删除呢,也是和直接在数据库操作一样的,这样表里面的name为y的用户就全部不见了。

对哦,忘记查了,现在我查的都是跑去mysql里面看的,但是想直接在终端可以看只要将他们打印出来就可以了

其中的fetchmany()方法是可以获取多条数据,然后我们通过for把他们打印出来就可以了。

所以基本的mysql操作以及python的mysql的增删改查就基本这样了。

python使用数据库的一些操作的更多相关文章

  1. python+mysql数据库的简单操作

    最近接了一个任务,测试某项类似于收益情况报表的功能,因计算公式复杂,单纯手算过于复杂,所以想到写成脚本 根据python的分治原则,先整了几个函数用于实现计算逻辑,后发现数据输入过于繁琐,所以决定使用 ...

  2. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  3. python之数据库操作(sqlite)

    python之数据库操作(sqlite) 不像常见的客户端/服务器结构范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分.所以主要的通信协议是在编程语言内的直接A ...

  4. python sqlite3 数据库操作

    python sqlite3 数据库操作 SQLite3是python的内置模块,是一款非常小巧的嵌入式开源数据库软件. 1. 导入Python SQLite数据库模块 import sqlite3 ...

  5. 10分钟教你Python+MySQL数据库操作

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 本文介绍如何利用python来对MySQL数据库进行操作,本文将主要从以下几个方面展开介绍: 1.数据库介绍 2.MySQL数据库安装和设置 ...

  6. Python --链接MYSQL数据库与简单操作 含SSH链接

    项目是软硬件结合,在缺少设备的情况,需要通过接口来模拟实现与设备的交互,其中就需要通过从数据库读取商品的ID信息 出于安全考虑  现在很多数据库都不允许通过直接访问,大多数是通过SSH SSH : 数 ...

  7. python下对mysql数据库的链接操作

    参考网址: https://blog.csdn.net/guofeng93/article/details/53994112 https://blog.csdn.net/Chen_Eris/artic ...

  8. 【简说Python WEB】视图函数操作数据库

    目录 [简说Python WEB]视图函数操作数据库 系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:virutalenv Python的版本:Python 3.6.9 ...

  9. python之redis和memcache操作

    Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...

随机推荐

  1. 操作系统的发展史 day36

    什么是操作系统       可能很多人都会说,我们平时装的windows7 windows10都是操作系统,没错,他们都是操作系统.还有没有其他的? 想想我们使用的手机,Google公司的Androi ...

  2. Linux定时任务Crontab使用 提示no crontab for root

    使用命令查询crontab 任务时,一直提示:no crontab for root .查看了一些资料,说是crontab在初始时,设置了一次编辑方式,所以试了一下crontab -e的方式编辑,即在 ...

  3. android apk 反编译过程

    一.准备必要的工具 apktool (资源文件获取) dex2jar(源码文件获取) jd-gui  (源码查看) 以上三个文件的下载地址为:https://download.csdn.net/dow ...

  4. 3F - Lowest Common Multiple Plus

    求n个数的最小公倍数. Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. Output 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行.你可以假设最 ...

  5. HTML知识基础

    HTML 超文本标记语言(Hyper  Text  Markup Language):是一种用于创建网页的标准标记语言. Hyper  Text:指具有交互功能文本. Markup Language: ...

  6. PAT 1045 快速排序(25)(STL-set+思路+测试点分析)

    1045 快速排序(25)(25 分) 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分 ...

  7. hdu 2647 (拓扑排序 邻接表建图的模板) Reward

    题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2647 老板给员工发工资,每个人的基本工资都是888,然后还有奖金,然后员工之间有矛盾,有的员工希望比某员 ...

  8. Codeforces 749D. Leaving Auction set+二分

    D. Leaving Auction time limit per test: 2 seconds memory limit per test:256 megabytes input:standard ...

  9. 小话C源码移植

    我们知道国外很多程序员工作在linux / unix 环境下,所以有很多优秀的c/c++语言代码不能直接在windows平台进行编译. 很多时候我们只能使用msys, cmake等工具进行模拟环境编译 ...

  10. linux shell 重定向中的 & 符号

    写一个简单的 demo 示例 #include <stdio.h> int main() { fprintf(stdout, "stdout output\n"); f ...