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 ...
随机推荐
- hdu------(4300)Clairewd’s message(kmp)
Clairewd’s message Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- nyoj-----127星际之门(一)
星际之门(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 公元3000年,子虚帝国统领着N个星系,原先它们是靠近光束飞船来进行旅行的,近来,X博士发明了星际之门 ...
- uva 1631
1631 Locker A password locker with N digits, each digit can be rotated to 0-9 circularly. You can ro ...
- 各种浏览器hack
Hack是针对不同的浏览器去写不同的CSS样式,从而让各浏览器能达到一致的渲染效果,那么针对不同的浏览器写不同的CSS CODE的过程,就叫CSS HACK,同时也叫写CSS Hack.然后将Hack ...
- MVC3+EF4.1学习系列(五)----- EF查找导航属性的几种方式
文章索引和简介 通过上一篇的学习 我们把demo的各种关系终于搭建里起来 以及处理好了如何映射到数据库等问题 但是 只是搭建好了关系 问题还远没有解决 这篇就来写如何查找导航属性 和查找导航属性的几种 ...
- solr 4.3.0 配置
scheme.xml <?xml version="1.0" encoding="UTF-8" ?> <schema name="t ...
- PHP中的include、include_once、require、require_once
include.include_once().require.require_once() 作用: 通过 include 或 require 语句,可以将 PHP 文件的内容插入另一个 PHP 文件( ...
- 图形界面报错“已拒绝X11转移申请”的解决方法
今天想通过本机给虚拟机起x-manager图形界面的时候报出 解决办法: 1.原来X11 forwarding依赖“xorg-x11-xauth”软件包,所以必须先安装“xorg-x11-xauth” ...
- Hadoop MapReduceV2(Yarn) 框架简介[转]
对于业界的大数据存储及分布式处理系统来说,Hadoop 是耳熟能详的卓越开源分布式文件存储及处理框架,对于 Hadoop 框架的介绍在此不再累述,读者可参考 Hadoop 官方简介.使用和学习过老 H ...
- HDU 5768 中国剩余定理
题目链接:Lucky7 题意:求在l和r范围内,满足能被7整除,而且不满足任意一组,x mod p[i] = a[i]的数的个数. 思路:容斥定理+中国剩余定理+快速乘法. (奇+ 偶-) #incl ...