python 安装操作 MySQL 数据库.
以ubuntu和mysql为例
检查自己的机器上面有没有安装数据库
xpower@xpower-CW65S:~$ sudo service mysql start
[sudo] xpower 的密码:
尝试输入命令打开 MySQL 不同的版本会有不同的效果 , 我的什么反馈也没有这就说明已经安装并且启动成功了 ( 没有消息就是最好的消息 ) 有的 ubuntu 会有反馈 , 自己看反馈内容 . 很容易判断 .
安装MySQL(安装过程中可能需要填写一点东西 . 建议填写一下 . )
xpower@xpower-CW65S:~$ sudo apt-get install mysql-server # 安装MySQL服务端,核心 程序
xpower@xpower-CW65S:~$ sudo apt-get install mysql-client # 安装MySQL客户端
安装MySQLdb
我当时尝试了好几种方法来安装但是都失败了 最后用了这个(好像是这个吧...)
xpower@xpower-CW65S:~$ sudo pip install MySQL-python
准备工作完毕 下面开始 , 实践一发 MySQL的基础操作温习一下.
启动MySQL
mysql -u root -p # 有密码的时候的启动方式 . mysql -u root # 没有密码的时候的启动方式 .
练习 MySQL 的基本操作
xpower@xpower-CW65S:~$ mysql -u root -p # 启动数据库
Enter password:
mysql> show databases; #查看当前所有的数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| mysql_xpower |
| performance_schema |
| sys |
+--------------------+
rows in set (0.00 sec)
mysql> use mysql_xpower # 链接 mysql_xpower 数据库
Database changed
mysql> show tables; # 查看 mysql_xpower下的所有表单
+------------------------+
| Tables_in_mysql_xpower |
+------------------------+
| Student_information |
| employee |
| user |
+------------------------+
rows in set (0.00 sec)
mysql> DROP TABLE user; # 删除表单 user
Query OK, rows affected (0.30 sec)
mysql> CREATE TABLE user (name VARCHAR(),password VARCHAR()); #创建一个 user 表单
Query OK, rows affected (0.46 sec)
mysql> show tables; # 查看 mysql下的所有表单
+------------------------+
| Tables_in_mysql_xpower |
+------------------------+
| Student_information |
| employee |
| user |
+------------------------+
rows in set (0.00 sec)
mysql> insert into user values('tom','');
Query OK, row affected (0.13 sec) mysql> insert into user values('jack','');
Query OK, row affected (0.04 sec) mysql> insert into user values('lucy','');
Query OK, row affected (0.12 sec) mysql> SHOW TABLES # 查看表单
-> ;
+------------------------+
| Tables_in_mysql_xpower |
+------------------------+
| Student_information |
| employee |
| user |
+------------------------+
rows in set (0.00 sec) mysql> SELECT * FROM user; 查看 user表单下所有项
+------+----------+
| name | password |
+------+----------+
| tom | |
| jack | |
| lucy | |
+------+----------+
rows in set (0.00 sec) mysql> DELETE FROM user WHERE NAME='lucy'; # 删除用户 lucy
Query OK, rows affected (0.00 sec) mysql> insert into user values('lucy','');
Query OK, row affected (0.04 sec) mysql> delete from user where name ='jack';
Query OK, row affected (0.05 sec) mysql> update user set password='' where name ='lucy'; # 修改 lucy的密码 .
Query OK, row affected (0.12 sec)
Rows matched: Changed: Warnings: mysql> select * from user
-> ;
+------+----------+
| name | password |
+------+----------+
| tom | |
| lucy | |
+------+----------+
上面是MySQL的基本操作 , 自己动手打一遍
进入正题
>>> conn= MySQLdb.connect(
... host='localhost',
... port = ,
... user='root',
... passwd='密码',
... db = '需要链接的数据库',
... )
在这里虽然我们取得了 python 的数据库链接 , 但是不能在这个对象上直接对数据库进行操作 , 还需要获取对应的操作游标才能进行数据库的操作 , 所以还需要 获取游标 .
>>> cur = conn.cursor()
创建一个数据库 (cur.execute() 没有返回被影响的行数 , 因为这里是创建数据库 , 所以被影响的是 0L)
但是到这里语句并没有被真正的执行必须使用MySQLdb.commit() ( git ? ) 才是真正的执行完毕 . 到这里才是真正的执行完毕 , 这时候我们的表格才是真正的创建完成 , 同理向表中写入数据 , 也是一样的操作流程 execute ==> commit 不过 , 写入的数据的 execute , 也是少有不同 , 如下
>>> cur.execute('CREATE TABLE stu_info (name VARCHAR(20),stu_id VARCHAR(30))')
0L
>>> conn.commit()
>>>
下面会向表单中插入数据 , 是和上面不一样的插入方式 .
>>> cur.executemany("insert into stu_info (name,stu_id) values (%s,%s)",(("jack",),("lucy",)))
2L
>>> conn.commit()
>>> cur.execute("insert into stu_info (name,stu_id) values ('yuanchongyang','156
')")
1L
>>> cur.execute("insert into stu_info (name,stu_id) values ('caiweiwei','1563103
') ")
1L
>>> conn.commit()
上面尝试了一下 , 看看能不能和 git 一样多个数据 一次 commit . 需要了解一下 数据库的工作流程....
>>> cur.execute("select * from stu_info")
4L
>>> stus = cur.fetchall()
>>> stus
查看表单内容
>>> cur.execute("select * from stu_info")
4L
>>> stus = cur.fetchall()
>>> stus
(('yuanchongyang', ''), ('caiweiwei', ''), ('jack', ''), ('lucy', ''))
>>>conn.close() Conn.close()关闭数据库连接
上文中我们已经知道 , 通过
>>> import MySQLdb
>>> conn = MySQLdb.connect(
... host='localhost',
... port = ,
... user='root',
... passwd='q.123456',
... db = 'mysql_xpower',
... )
>>> cur = conn.cursor()
>>> sqli = "insert into stu_info values(%s,%s)"
>>> cur.execute(sqli,('mengmeng',))
1L
>>> cur.close()
>>> cur = conn.cursor()
>>> cur.execute("select * from stu_info")
5L
这个时候获得的cur可以用于显示 表单的内容
>>> stus = cur.fetchall()
>>> stus
(('yuanchongyang', ''), ('caiweiwei', ''), ('jack', ''),
('lucy', ''), ('mengmeng', ''))
这样就显示出来了 但是如果想再显示一次怎么办呢?
>>> cur.scroll(,'absolute')
没错就是他 , 他可以让游标指针跳到你想要的位置 . 其实还有一个fetchone这个东西和fetchall 有什么区别呢 ? 自己观察一下 单词就行了 .
python 安装操作 MySQL 数据库.的更多相关文章
- python 之操作mysql 数据库实例
对于python操作mysql 数据库,具体的步骤应为: 1. 连接上mysql host 端口号 数据库 账号 密码2. 建立游标3. 执行sql(注意,如果是update,insert,delet ...
- Python之 操作 MySQL 数据库
什么是MySQLdb? MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. 安装 Pytho ...
- python实现操作mysql数据库
实现代码如下: #mysql数据库的查询等 import pymysql from xctest_tools.xc_ReadFile.get_ReadTxt import * class mysql: ...
- Python之操作MySQL数据库
一.操作步骤 1.导入pymysql模块 2.建立连接(ip.用户名.密码.数据库名.端口号.字符集.(自动提交参数)) 3.建立游标 4.执行sql语句 (4.需要提交的提交) 5.关闭游标 6 ...
- python 连接操作mysql数据库
开发数据库程序流程: 1.创建connection对象,获取cursor 2.使用cursor执行SQL 3.使用cursor获取数据.判断执行状态 4.提交事务 或者 回滚事务 import: 数据 ...
- python,java操作mysql数据库,数据引擎设置为myisam时能够插入数据,转为innodb时无法插入数据
今天想给数据库换一个数据引擎,mysiam转为 innodb 结果 python 插入数据时失败,但是自增id值是存在的, 换回mysiam后,又可以插入了~~ 想换php插入试试,结果php数据引擎 ...
- python 3 操作mysql数据库的方法
参考:http://www.cnblogs.com/txw1958/archive/2012/07/22/python3-mysql.html http://www.jb51.net/article/ ...
- python接口自动化(三十八)-python操作mysql数据库(详解)
简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...
- 利用Python操作MySQL数据库
前言 在工作中,我们需要经常对数据库进行操作,比如 Oracle.MySQL.SQL Sever 等,今天我们就学习如何利用Python来操作 MySQL 数据库. 本人环境:Python 3.7.0 ...
随机推荐
- 【转】commons-lang.jar包简介
转自:http://zhidao.baidu.com/share/71b48e6b3e1b1dc73fe705604b9c7584.html 1.下载jar包 包官方下载地址:http://commo ...
- 35 个免费创新的响应式 HTML5 模板
HTML5 和响应式都是 Web 开发领域中的热门技术,本文向你推荐 35 个免费的响应式 HTML5 模板,将两种技术完美结合. Mori responsive HTML5 Template Res ...
- 学习HTML5之新特性标签一览(详细)
HTML5又2008年诞生,HTML5大致可以等同于=html+css3+javascriptapi.... so --->支持css3强大的选择器和动画以及javascript的新的函数 先来 ...
- response.getWriter().write()与out.print()的区别
1.首先介绍write()和print()方法的区别: (1).write():仅支持输出字符类型数据,字符.字符数组.字符串等 (2).print():可以将各种类型(包括Object)的数据通 ...
- android 回调的理解(结合接口)
什么是回调 回调其实是一种双向调用模式,也就是调用方在接口被调用时也会调用对方的接口.通俗的解释为:类A调用了类B中的方法1,然后类B最后又反过来调用类A中的方法2,即把结果返回给类A. 回调的具体实 ...
- 318. Maximum Product of Word Lengths ——本质:英文单词中字符是否出现可以用26bit的整数表示
Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the tw ...
- [工作需求]linux常用命令以及vim常用命令
一. Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...
- BZOJ3057 圣主的考验
Poetize11的T3 DP神优化= =反正蒟蒻不会 Orz ZYF竟然找到了题解,反正我是没找到T T(百度空间:你太沙茶了,不给你看题解2333) 然后就对着标程写了一遍,然后T了...233 ...
- sqlserver 2008 存储过程调用存储过程或方法
函数:拆分字符串,并返回一个table CREATE FUNCTION [dbo].[f_splitSTR](@s varchar(max), --待分拆的字符串@split varchar(10) ...
- 一道数学题 hduacm 5144
题目大意: 一直初速度v和抛出速度h 求标枪抛出的最远距离: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5144 显然 d=v/g*sqrt( ...