python使用数据库的一些操作

学py感觉还是用linux操作系统比较好,下载安装mysql很简单,linux里面都有自带的,但是要用python去用mysql我们就得安装一下他的模块,因为python里面没有自带他的模块,用yum安装版本比较老,自己手动下载安装是最好的,他的模块的下载链接https://pypi.python.org/pypi/MySQL-python/下载最新的1.2.5的模块压缩包,然后进入那个mysql-python-1.2.5目录下安装模块就好了,用代码 python setup.py install,

好了就可以导用了,导用用 import mySQLdb,如果没有动静的话就是没问题了。如果遇到找不到mysql_config文件时,安装mysql-devel yum install python-devel,yum -y install mysql-devel 。好了python setup.py install一下

现在就来熟悉熟悉,练习练习一下mysql的基本操作,要多练习,太久没有练习就忘记了。

关于mysql,mysql的文件在/ect/my.cnf下,而我们自己创建的mysql文件则会保存在/var/lib/mysql下,会自动把新创建的数据库生成与他相对应的名字的文件,mysql的话第一次进入是没有密码的,直接mysql -u root -p然后回车就可以了,如果不行的话就是没有安装数据库,用

想创建数据库用户和密码 举例:grant all privileges on *.* to wudongyu@localhost identified by 'a1234567890.';

mysql是规定一定要大写的,但是不大写也没有事,结尾的话一定要用;这个符号,表示结束的意思,没有输的话直接回车,会可以继续输入,在比如输入很长很长的命令就可以直接回车,看得比较清楚。

进入数据库有密码的情况下的话 mysql -u 用户名 -p

没有密码的话直接 mysql -u -用户名

查看当前所有的数据库 show databases;

连接其中的一个数据库 use test01;

创建一个数据库 create database test02;

查看test01这个库下的表 show tables;

 

现在在test02这个库下创建表名为user,里面分别有name和password两个字段

CREATE table user (name VARCHAR(20),password VARCHAR(20));

创建了表,并且我们也给他设置了一些字段,现在就向表里面填入信息

insert into user values('wudongyu','a1234567');

 

没事再插入一条练习练习,哈哈

insert into user values('yyyyyyyyyy','123321');

 

现在我们来查看一下user表下的刚刚创建的数据 select * from user;

也可以这样写

如果我们表里面的数据错了,想修改一下,比如把yyyyyy修改成y

update user set name='y' where name = 'yyyyyy';

如果想删掉某一个数据的,那就更加简单了,直接 delete from user where name = 'y';

基本的增删改就这样了,现在我们来用python操作mysql数据库的一些基础操作了

我一般都是用vim写,现在先写一个创建表

里面的内容是先导入数据库,然后连接,host是主机地址,port是端口号,user是用户,passwd是密码,db是数据库名字。

然后cur=conn.cursor()是通过获取的数据库然后连接conn下的cursor()方法来创建游标,游标就是系统为用户开设的一个数据缓冲区,用来存放sql语句的执行结果。

然后就通过我们创建的游标cur来操作execute()方法来写纯sql的语句,这些和直接操作mysql一样。

cur.fetchall()方法是接收返回执行结果

写好了就关闭游标cur.close()

然后conn.commit()方法是提交事物,我们在向数据库插入一条数据的时候必须要有这个方法,否则数据就不会被插入

最后就关闭数据库连接conn.close()

这样就创建一个表成功了,现在来写入信息。

创建信息和上面的execute()方法写入sql语句一模一样,但是那样的话比较不方便,因为我要有时候要插入的信息比较多就很麻烦了,例如这样就还可以,只有一条,但是多条就不太行了。

 

所以我们想写入多条的时候也可以以元组的形式来写,就比较整齐又快捷

有木有有木有有?

改呢,和我增是一个道理,代码和直接在数据库操作一样。

删除呢,也是和直接在数据库操作一样的,这样表里面的name为y的用户就全部不见了。

对哦,忘记查了,现在我查的都是跑去mysql里面看的,但是想直接在终端可以看只要将他们打印出来就可以了

其中的fetchmany()方法是可以获取多条数据,然后我们通过for把他们打印出来就可以了。

所以基本的mysql操作以及python的mysql的增删改查就基本这样了。

原文地址:https://www.cnblogs.com/wudongyu/p/6485072.html