一 、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下的操作: 浅谈MySQL在cmd和python下的常用操作
# -*- coding: utf-8 -*-
#!/usr/bin/env python
# @Time : 2017/6/4 18:11
# @Author : Elijah
# @Site :
# @File : sql_helper.py
# @Software: PyCharm Community Edition
import MySQLdb
class MySqlHelper(object):
def __init__(self,**args):
self.ip = args.get("IP")
self.user = args.get("User")
self.password = args.get("Password")
self.tablename = args.get("Table")
self.port = 3306
self.conn = self.conn = MySQLdb.Connect(host=self.ip,user=self.user,passwd=self.password,port=self.port,connect_timeout=5,autocommit=True)
self.cursor = self.conn.cursor()
def Close(self):
self.cursor.close()
self.conn.close()
def execute(self,sqlcmd):
return self.cursor.execute(sqlcmd)
def SetDatabase(self,database):
return self.cursor.execute("use %s;"%database)
def GetDatabasesCount(self):
return self.cursor.execute("show databases;")
def GetTablesCount(self):
return self.cursor.execute("show tables;")
def GetFetchone(self, table = None):
if not table:
table = self.tablename
self.cursor.execute("select * from %s;"%table)
return self.cursor.fetchone()
def GetFetchmany(self,table=None,size=0):
if not table:
table = self.tablename
count = self.cursor.execute("select * from %s;"%table)
return self.cursor.fetchmany(size)
def GetFetchall(self,table=None):
'''
:param table: 列表
:return:
'''
if not table:
table = self.tablename
self.cursor.execute("select * from %s;"%table)
return self.cursor.fetchall()
def SetInsertdata(self,table=None,keyinfo=None,value=None):
"""
:param table:
:param keyinfo:可以不传此参数,但此时value每一条数据的字段数必须与数据库中的字段数一致。
传此参数时,则表示只穿指定字段的字段值。
:param value:类型必须为只有一组信息的元组,或者包含多条信息的元组组成的列表
:return:
"""
if not table:
table = self.tablename
slist = []
if type(value)==tuple:
valuelen = value
execmany = False
else:
valuelen = value[0]
execmany = True
for each in range(len(valuelen)):
slist.append("%s")
valuecenter = ",".join(slist)
if not keyinfo:
sqlcmd = "insert into %s values(%s);"%(table,valuecenter)
else:
sqlcmd = "insert into %s%s values(%s);" % (table,keyinfo,valuecenter)
print(sqlcmd)
print(value)
if execmany:
return self.cursor.executemany(sqlcmd,value)
else:
return self.cursor.execute(sqlcmd, value)