環境配置1:安裝mysql,環境變數添加mysql的bin目錄 環境配置2:python安裝MySQL-Python 請根據自身操作系統下載安裝,否則會報c ++ compile 9.0,import _mysql等錯誤 windows10 64位操作系統可到 http://www.lfd.uci. ...
環境配置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下的操作:
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 # -*- coding: utf-8 -*- 2 #!/usr/bin/env python 3 4 # @Time : 2017/6/4 18:11 5 # @Author : Elijah 6 # @Site : 7 # @File : sql_helper.py 8 # @Software: PyCharm Community Edition 9 import MySQLdb 10 11 class MySqlHelper(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 def Close(self): 22 self.cursor.close() 23 self.conn.close() 24 def execute(self,sqlcmd): 25 return self.cursor.execute(sqlcmd) 26 def SetDatabase(self,database): 27 return self.cursor.execute("use %s;"%database) 28 def GetDatabasesCount(self): 29 return self.cursor.execute("show databases;") 30 def GetTablesCount(self): 31 return self.cursor.execute("show tables;") 32 def GetFetchone(self, table = None): 33 if not table: 34 table = self.tablename 35 self.cursor.execute("select * from %s;"%table) 36 return self.cursor.fetchone() 37 def GetFetchmany(self,table=None,size=0): 38 if not table: 39 table = self.tablename 40 count = self.cursor.execute("select * from %s;"%table) 41 return self.cursor.fetchmany(size) 42 def GetFetchall(self,table=None): 43 ''' 44 :param table: 列表 45 :return: 46 ''' 47 if not table: 48 table = self.tablename 49 self.cursor.execute("select * from %s;"%table) 50 return self.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 not table: 60 table = self.tablename 61 slist = [] 62 if type(value)==tuple: 63 valuelen = value 64 execmany = False 65 else: 66 valuelen = value[0] 67 execmany = True 68 for each in range(len(valuelen)): 69 slist.append("%s") 70 valuecenter = ",".join(slist) 71 if not keyinfo: 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 if execmany: 78 return self.cursor.executemany(sqlcmd,value) 79 else: 80 return self.cursor.execute(sqlcmd, value)MySqlHelper