MySQL在cmd和python下的常用操作

来源:http://www.cnblogs.com/elijahxb/archive/2017/06/05/6943120.html
-Advertisement-
Play Games

環境配置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下的操作:

  

 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

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • python2.7的編碼格式不再是ASCII碼,直接就是UTF-8. 導入sys模塊,通過getdefaultencoding方法可以查看編碼格式。 因此,python2.7解決中文字元的編碼問題可以直接聲明編碼格式,不再通過麻煩的decode和encode進行轉換。 此處仍然需要在中文字元前加入u ...
  • 網上商城實戰3 今日任務 完成購物模塊的功能 完成訂單模塊的功能 1.1 購物模塊: 1.1.1 功能演示: 商品詳情: 購物車模塊: 1.1.2 代碼實現: 1.在商品詳情的頁面中點擊【加入購物車】鏈及. 2.提交到Servlet中: * 提交購買的商品的數量. * 提交購買的商品的ID. 3.將 ...
  • 一、後臺日期類型解析到前端 1.在springmvc的配置文件中添加這個.annotation-driven在配置文件中只配置一次 (此方法全局作用)<mvc:annotation-driven> <mvc:message-converters> <bean class="org.springfra ...
  • 原創聲明:本文為本人原創作品,絕非他處摘取,轉載請聯繫博主 相信大家在各大網站都會遇到,登錄時,在登錄框出現下次免登陸/一個月免登陸的類似選項,本次博文就是講解如何實現,在這記錄一下,也算是做個備忘錄合集,如果文中有錯,歡迎大家指出 為啥說自登陸一次呢,因為當訪問某個頁面時,如果第一次自動登錄失敗時 ...
  • 序列標註(sequence labelling),輸入序列每一幀預測一個類別。OCR(Optical Character Recognition 光學字元識別)。 MIT口語系統研究組Rob Kassel收集,斯坦福大學人工智慧實驗室Ben Taskar預處理OCR數據集(http://ai.sta ...
  • 一開始,我得向Libuv庫和Libuv庫開發者以及相關粉絲們道一個歉,對不起,我錯怪你們了。深深感到自己的無知,是多麼羞愧的事情!! 事情的經過是這樣的。 原先按照公司要求,我在開發Windows版的TCP伺服器時,使用了Libuv庫。正是因為Libuv庫的強大,才讓我們老大推薦使用。我們老大學識淵 ...
  • 作業二:多級菜單 (1)三級菜單 (2)可以次選擇進入各子菜單 (3)所需新知識點:列表、字典 要求:輸入back返回上一層,輸入quit退出整個程式 思路: (1)首先定義好三級菜單字典; (2)提取第一級省的編號,列印包含哪些省份,讓用戶輸入省份的編號,能夠顯示對應的省,這個過程需要創建一個字典 ...
  • 今天我做JUnit關於MySQL測試時發現,類似於assertNull(tu)之類的代碼不知道什麼意思,因此稍微總結如下。 org.springframework.util.AssertAssert翻譯為中文為"斷言".大概來說,就是斷定某一個實際的值就為自己預期想得到的,如果不一樣就拋出異常. s ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...