浅谈MySQL在cmd和python下的常用操作
浅谈MySQL在cmd和python下的常用操作
发布时间:2018-07-24 来源:查字典编辑
摘要:一、cmd命令下的操作:连接mysql:mysql-uroot-p查看所有数据库:showdatabases;创建test数据库:creat...

一 、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)

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新mysql数据库学习
热门mysql数据库学习
编程开发子分类