以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. VBA对象模型(2)

    Excel对象模型简介 在介绍Excel对象模型之前,让我们先来看一个简单的例子.大多数工厂都是按这样的结构进行设置的:最上层为工厂总部,第二层次分为各个车间,在车间下面又分各班组.就这样组织在一起, ...

  2. R语言自带数据包

    向量 euro    #欧元汇率,长度为11,每个元素都有命名 landmasses    #48个陆地的面积,每个都有命名 precip    #长度为70的命名向量 rivers    #北美14 ...

  3. [saiku] 集成单点登录

    思路: 自定义一个loginCallbackFilter用于单点登录成功后执行模拟用户认证授权登录的操作. 当授权成功后所有配置需要授权才能访问的url就再也不会被任何filter拦截,可随意访问了. ...

  4. 关于JVM的类型和模式

    原文出处: 摆渡者 引言 曾几何时,我也敲打过无数次这样的命令: 然而之前的我都只关心过版本号,也就是第一行的内容.今天,我们就来看看第3行输出的内容:JVM的类型和工作模式. 其实说Server和C ...

  5. 笔记6:winfrom连接sql server 进行数据交换

    今天的作业是用winfrom窗体做一个留言板,如图: 要求和数据库有查询和添加功能.下拉框里的值是直接获取数据库中的值 一.连接数据库,获取表中数据 //创建一个存数据的表 DataTable tab ...

  6. python中time模块的用法

    import time tick = time.time() # 返回从12:00am, January 1, 1970(epoch) 开始的记录的当前操作系统时间 present = time.lo ...

  7. 在Linux下安装aws命令行操作

    使用安装包安装 环境: Linux, OS X, or Unix Python 2 version 2.6.5+ or Python 3 version 3.3+ 检查Python版本 $ pytho ...

  8. tar 排除指定目录 –exclude

    假设 test目录下有 1 2 3 4 5 这5个目录, 1下有6 7两个目录, 现在要将3 4 5 6目录tar打包,2和1下的6这两个目录不要.命令如下: Example[www]#cd test ...

  9. intel vt-x处于禁用状态下如何处理

    1.首先看你的bios选项里面有没有该选项,如果没有就更新,更新之后还没有,则不支持 2.找到intel Virtualization Technology 将状态改为Enabled  同时找到int ...

  10. iOS产品开发流程

    iOS产品开发流程 a.产品经理做需求调研,确定产品需求,编写需求文档 b.产品人员完成产品原型 c.产品经理召开会议(产品,UI,UE,开发,测试,服务器) d.设计人员根据原型设计出一系列UI界面 ...