环境配置1:安装mysql,环境变量添加mysql的bin目录
环境配置2:python安装MySQL-Python
请根据自身操作系统下载安装,否则会报c ++ compile 9.0,import _mysql等错误
windows10 64位操作系统可到 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载安装MySQL-Python包,至于whl和tar.gz在windows和Linux下的安装方法可查看我的上一篇文章
一 、cmd命令下的操作:
连接mysql:mysql -u root -p
查看所有数据库:show databases;
创建test数据库:create database test;
删除数据库:drop database test;
使用(切换至)test数据库:use test;
查看当前数据库下的表:show tables;
创建UserInfo表:create table UserInfo(id int(5) NOT NULL auto_increment,username varchar(10),password varchar(20) NOT NULL,PRIMARY KEY(id));
删除表:drop table UserInfo;
判断数据是否存在:select * from UserInfo where name like 'elijahxb';
增数据:insert into UserInfo(username,password) value('eljiahxb','123456');
查数据:select * from UserInfo; select id from UserInfo; select username from UserInfo;
改数据:update UserInfo set username = 'Zus' where id=1; update UserInfo set username='Zus';
删数据:delete from UserInfo; delete from UserInfo where id=1;
断开连接:quit
二、python下的操作:
1 #-*- coding: utf-8 -*-
2 #!/usr/bin/env python
3
4 #@Time : /6/4 18:11
5 #@Author : Elijah
6 #@Site :
7 #@File : sql_helper.py
8 #@Software: PyCharm Community Edition
9 importMySQLdb10
11 classMySqlHelper(object):12 def __init__(self,**args):13 self.ip = args.get("IP")14 self.user = args.get("User")15 self.password = args.get("Password")16 self.tablename = args.get("Table")17 self.port = 3306
18 self.conn = self.conn = MySQLdb.Connect(host=self.ip,user=self.user,passwd=self.password,port=self.port,connect_timeout=5,autocommit=True)19 self.cursor =self.conn.cursor()20
21 defClose(self):22 self.cursor.close()23 self.conn.close()24 defexecute(self,sqlcmd):25 returnself.cursor.execute(sqlcmd)26 defSetDatabase(self,database):27 return self.cursor.execute("use %s;"%database)28 defGetDatabasesCount(self):29 return self.cursor.execute("show databases;")30 defGetTablesCount(self):31 return self.cursor.execute("show tables;")32 def GetFetchone(self, table =None):33 if nottable:34 table =self.tablename35 self.cursor.execute("select * from %s;"%table)36 returnself.cursor.fetchone()37 def GetFetchmany(self,table=None,size=0):38 if nottable:39 table =self.tablename40 count = self.cursor.execute("select * from %s;"%table)41 returnself.cursor.fetchmany(size)42 def GetFetchall(self,table=None):43 '''
44 :param table: 列表45 :return:46 '''
47 if nottable:48 table =self.tablename49 self.cursor.execute("select * from %s;"%table)50 returnself.cursor.fetchall()51 def SetInsertdata(self,table=None,keyinfo=None,value=None):52 """
53 :param table:54 :param keyinfo:可以不传此参数,但此时value每一条数据的字段数必须与数据库中的字段数一致。55 传此参数时,则表示只穿指定字段的字段值。56 :param value:类型必须为只有一组信息的元组,或者包含多条信息的元组组成的列表57 :return:58 """
59 if nottable:60 table =self.tablename61 slist =[]62 if type(value)==tuple:63 valuelen =value64 execmany =False65 else:66 valuelen =value[0]67 execmany =True68 for each inrange(len(valuelen)):69 slist.append("%s")70 valuecenter = ",".join(slist)71 if notkeyinfo:72 sqlcmd = "insert into %s values(%s);"%(table,valuecenter)73 else:74 sqlcmd = "insert into %s%s values(%s);" %(table,keyinfo,valuecenter)75 print(sqlcmd)76 print(value)77 ifexecmany:78 returnself.cursor.executemany(sqlcmd,value)79 else:80 return self.cursor.execute(sqlcmd, value)
MySqlHelper