以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 数据库.的更多相关文章

  1. python 之操作mysql 数据库实例

    对于python操作mysql 数据库,具体的步骤应为: 1. 连接上mysql host 端口号 数据库 账号 密码2. 建立游标3. 执行sql(注意,如果是update,insert,delet ...

  2. Python之 操作 MySQL 数据库

    什么是MySQLdb? MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. 安装 Pytho ...

  3. python实现操作mysql数据库

    实现代码如下: #mysql数据库的查询等 import pymysql from xctest_tools.xc_ReadFile.get_ReadTxt import * class mysql: ...

  4. Python之操作MySQL数据库

      一.操作步骤 1.导入pymysql模块 2.建立连接(ip.用户名.密码.数据库名.端口号.字符集.(自动提交参数)) 3.建立游标 4.执行sql语句 (4.需要提交的提交) 5.关闭游标 6 ...

  5. python 连接操作mysql数据库

    开发数据库程序流程: 1.创建connection对象,获取cursor 2.使用cursor执行SQL 3.使用cursor获取数据.判断执行状态 4.提交事务 或者 回滚事务 import: 数据 ...

  6. python,java操作mysql数据库,数据引擎设置为myisam时能够插入数据,转为innodb时无法插入数据

    今天想给数据库换一个数据引擎,mysiam转为 innodb 结果 python 插入数据时失败,但是自增id值是存在的, 换回mysiam后,又可以插入了~~ 想换php插入试试,结果php数据引擎 ...

  7. python 3 操作mysql数据库的方法

    参考:http://www.cnblogs.com/txw1958/archive/2012/07/22/python3-mysql.html http://www.jb51.net/article/ ...

  8. python接口自动化(三十八)-python操作mysql数据库(详解)

    简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...

  9. 利用Python操作MySQL数据库

    前言 在工作中,我们需要经常对数据库进行操作,比如 Oracle.MySQL.SQL Sever 等,今天我们就学习如何利用Python来操作 MySQL 数据库. 本人环境:Python 3.7.0 ...

随机推荐

  1. QMessageBox中按钮的汉化

    方法一:直接添加汉语按钮: QMessageBox mess(QMessageBox::Question, "删除提示", "确认删除所选组件?", NULL) ...

  2. Scala学习之: Hello Word!

    scala 是一门纯粹的面向对象的语言 , 结合了python和java的优点. 它和java的集合度很高,是一个在JVM上运行的非java语言(PS 其实scala也是用java编写的) 安装sca ...

  3. hdu----(2848)Repository(trie树变形)

    Repository Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  4. Text Justification [LeetCode]

    Problem Description:http://oj.leetcode.com/problems/text-justification/ Note: Just be careful about ...

  5. 安装hadoop-2.3.0-cdh5.1.2全过程

    工欲善其事,必先利其器,啥都不说,Hadoop下载:http://archive.cloudera.com/cdh5/cdh/5/  选择好相应版本搞起,在本文讲述的是 围绕hadoop-2.3.0- ...

  6. 递归算法(一)——akm

    要求 已知akm函数如下: { n+1 while m=0 }                          => Rule I akm(m,n)= { akm(m-1,1) while n ...

  7. Floyd 算法的动态规划本质

    [转载自:http://www.cnblogs.com/chenying99/p/3932877.html] Floyd–Warshall(简称Floyd算法)是一种著名的解决任意两点间的最短路径(A ...

  8. sqlserver 2008 存储过程调用存储过程或方法

    函数:拆分字符串,并返回一个table CREATE FUNCTION [dbo].[f_splitSTR](@s varchar(max), --待分拆的字符串@split varchar(10) ...

  9. centos 卸载软件·

    centos下完全卸载php 1显示相关软件的列表 rpm -qa  | grep i(可以不加) php 2 卸载即可 rpm -e 软件名 --nodeps centos下完全卸载mysql 1显 ...

  10. 转载:完全卸载oracle11g步骤

    完全卸载oracle11g步骤: 1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务. 2. 开始->程序->Oracle - OraHo ...