以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. CentOS7+JDK8编译Hadoop2.6.4

    1. 下载相关软件 apache-maven-3.3.1-bin.tar.gz protobuf-2.5.0.tar.gz hadoop-2.6.4-src.tar.gz 2.配置好jdk8环境(请看 ...

  2. Qt之QSystemTrayIcon

    简述 QSystemTrayIcon类为应用程序在系统托盘中提供一个图标. 现代操作系统通常在桌面上提供一个特殊的区域,称为系统托盘或通知区域,长时间运行的应用程序可以显示图标和短消息. 简述 内容 ...

  3. (23)odoo中的domain表达式

    ---------更新日期:09:10 2016-03-03 星期四---------* Domain 表达式             # 用于过滤记录数,相当于sql的where       ('f ...

  4. 20145236 《Java程序设计》第八周学习总结

    20145236 <Java程序设计>第八周学习总结 教材学习内容总结 第十四章 NIO与NIO2 认识NIO NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你 ...

  5. 教你如何做好SEO优化中的前端优化

    网站的速度是很多人都面临的问题,其实许多网站,都没有特意的去优化加载速度,对于一个网站来说,加速不但提高了用户体验(如果一个网站在几秒内没 有打开,大多数用户选择的是关闭而非等待),而且对于SEO的流 ...

  6. http请求详解

    GET GET方法意思是获取被请求URI(Request-URI)指定的信息(以实体的格式).如果请求URI涉及到一个数据生成过程,那么这个过程生成的数据应该被作为实体在响应中返回而不是过程的源文本, ...

  7. 454. 4Sum II ——查找本质:hash最快,二分次之

    Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such t ...

  8. 获取IE代理服务器信息

    “局域网设置”里有自动配置.代理服务器的设置项目,在进行网络通讯相关的开发时,需要使用到它们,下边介绍如何将这些设置信息读取出来. 当“使用自动配置脚本”不使用时,使用WinHttpGetIEProx ...

  9. linux 磁盘管理以及维护

    Linux系统中,进行频繁的读写操作,容易发送只读.以及磁盘损坏等故障.下文为其解决方案: 1.如何界定磁盘已经存在故障 方法一(界定将如下内容另存为Repair.sh然后执行即可): #!/bin/ ...

  10. 表单_post提交方式和get的区别,元素集

    提交方式及表单域的name属性 使用form表单一种是post提交方式,一种是get提交方式,它们以method属性来定义,如果没有指定method属性,默认get方式提交. 表单域必须配合name属 ...