Python 培训之MySql
1. Install
1.1 install mysql
sudo apt-get install lamp-server^
(tip: Set password)
1.2 install MySQLdb
sudo apt-get install python-dev
2 sudo apt-get install libmysqlclient-dev
3 sudo apt-get install python-pip
4 sudo pip install MySQL-python
2. Commands
2.1 View
mysql -u root -ppasswd
show databases;
use database;
show tables;
describe table;
select * from table where colname = "##";
(tip:count(*),limit;orderby;distinct,like)
2.2 Use
create database ###;
CREATE TABLE chem_gene
(
chem_gene_id int NOT NULL AUTO_INCREMENT,
chemicalName varchar() NOT NULL,
genesymbol varchar() NOT NULL,
interaction text NOT NULL,
interactionActions text NOT NULL,
CONSTRAINT chem_gene PRIMARY KEY(chem_gene_id)
) ;
insert into tablename values(##,###,###)
2.3. update && delete
update ### set colname1=### where colname2=###;
delete from tablename;
delete from tablename where colname = ###;
drop table tablename;
drop database databasename;
2.4. coding
create table (character set = utf8;)
alter table ### convert to character set utf8;
2.5 create web user
mysql -u root -ppasswd
grant insert ,create,delete,select,drop,alter,index,update on dbname.* to username identified by "passwd";
mysql -u username -ppasswd
3. Mysql Work with python
3.1 sql script create database && create table
CREATE TABLE chem_gene
(
chem_gene_id int NOT NULL AUTO_INCREMENT,
chemicalName varchar(255) NOT NULL,
chemicalID varchar(100) NOT NULL,
casId varchar(100) NOT NULL,
genesymbol varchar(100) NOT NULL,
geneid varchar(100) NOT NULL,
geneforms varchar(255) NOT NULL,
organism varchar(100) NOT NULL,
organismid varchar(100) NOT NULL,
interaction text NOT NULL,
interactionActions text NOT NULL,
pubmedid varchar(100) NOT NULL,
CONSTRAINT chem_gene PRIMARY KEY(chem_gene_id)
)
character set = utf8;
(tip: mysql -u username -ppasswd -D dbname < ####.sql )
3.2. python insert by MySQLdb
#!/usr/bin/env/python
# -*- coding:UTF-8 -*-
from __future__ import print_function
import sys
import MySQLdb fin = sys.argv[1]
table = sys.argv[2] def mysql_conn(ip,user,passwd,db,port):
try:
conn = MySQLdb.connect(host=ip,user=user,
passwd=passwd,db=db,port=port,charset='utf8')
cur = conn.cursor()
return conn,cur
except MySQLdb.Error,e:
print(e.args)
sys.exit(1) def insert_db(conn,cursor,command):
try:
cursor.execute(command)
conn.commit()
except MySQLdb.Error,e:
print(e.args)
sys.exit(1) with open(fin) as input:
conn,cur = mysql_conn("192.168.1.104","tcd_net","tcd_net","ctd_net",3308)
for line in input:
if not line.startswith("#"):
content = line.strip().split("\t")
out = tuple([""]+content)
command = "insert into %s values%s;"%(table,out)
print(command)
try:
insert_db(conn,cur,command)
except:
print("insert failed")
sys.exit(1)
conn.close()
cur.close()
(tip: python ###.py ###.txt tablename )
3.3 python query by MySQLdb
#!/usr/bin/env/python
# -*- coding:UTF-8 -*-
from __future__ import print_function
import MySQLdb
import sys chem_name = sys.argv[1] def mysql_connect():
try:
conn = MySQLdb.connect(host="localhost",user="tcd_net",
passwd='tcd_net',db='ctd_net',port=3306,charset='utf8')
cur = conn.cursor()
return conn,cur
except MySQLdb.Error,e:
print(e.args)
sys.exit(1) def query_db(conn,cursor,command):
try:
cursor.execute(command)
conn.commit()
results = cursor.fetchall()
return results
except MySQLdb.Error,e:
print(e.args)
sys.exit(1) def chem_gene_query(chem):
conn,cur = mysql_connect()
query_command = """select chemicalName,chemicalID,casId,
genesymbol,geneid,geneforms,organism,organismid,interaction,
interactionActions,pubmedid from chem_gene where chemicalName = "%s";"""%chem
chem_gene_result = query_db(conn,cur,query_command)
for res in chem_gene_result:
print("\t".join(res)) chem_gene_query(chem_name) (tip: python ###.py chem_name)
4. Mysql import && dump
mysql -u root -ppasswd -D dbname < ****.sql
mysqldump -u root -ppasswd dbname > ****.sql
5..Mysql config
sudo service mysql status/start/restart/stop
/etc/mysql/my.cnf
[client]
port =
socket = /var/run/mysqld/mysqld.sock
[mysqld]
user = mysql
port =
datadir = /var/lib/mysql
bind-address = 0.0.0.0
Python 培训之MySql的更多相关文章
- 曾Python培训讲师-2年Python开发无包装简历-20191217-可公开
目录 个人介绍 技能介绍 项目经历 自我评价 简历非完整版,需要完整版看下述信息,禁止任何一切私人用途.转发 我生日是27号,那就27元一份,有需求的来购买!只会涨价不会降价,大概卖10份涨1元:曾P ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- python——django使用mysql数据库(二)
上一篇中,我们已经讲述了如何初始化一个django数据库,这一章就来讲讲在实际的项目中如何使用我们初始化的数据库呢? 如还未进行初始化数据库操作,请参考python——django使用mysql数据库 ...
- python——django使用mysql数据库(一)
之前已经写过如何创建一个django项目,现在我们已经有了一个小骷髅,要想这个web工程变成一个有血有肉的人,我们还需要做很多操作.现在就先来介绍如何在django中使用mysql数据库. 前提:已经 ...
- Python 3 and MySQL
http://stackoverflow.com/questions/4960048/python-3-and-mysql up vote61down votefavorite 20 I am usi ...
- 智普教育Python培训之Python开发视频教程网络爬虫实战项目
网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 01.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 02.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Pytho ...
- 2015老男孩Python培训第八期视频教程
2015老男孩Python培训第八期视频教程,希望您通过本教程的学习,能学会常用方法和技巧.教程从基础知识开始讲解一直到后期的案例实战,完全零基础学习,从初学者的角度探讨分析问题,循序渐进由易到难,确 ...
- 老王Python培训视频教程(价值500元)【基础进阶项目篇 – 完整版】
老王Python培训视频教程(价值500元)[基础进阶项目篇 – 完整版] 教学大纲python基础篇1-25课时1.虚拟机安装ubuntu开发环境,第一个程序:hello python! (配置开发 ...
- python & pandas链接mysql数据库
Python&pandas与mysql连接 1.python 与mysql 连接及操作,直接上代码,简单直接高效: import MySQLdb try: conn = MySQLdb.con ...
随机推荐
- Android手机截屏
刚开始打算做一个简单的截屏程序时,以为很轻松就能搞定. 在Activity上放一个按钮,点击完成截屏操作,并将数据以图片形式保存在手机中. 动手之前,自然是看书和网上各种查资料.结果发现了解的知识越多 ...
- 使用 Socket 通信实现 FTP 客户端程序(来自IBM)
FTP 客户端如 FlashFXP,File Zilla 被广泛应用,原理上都是用底层的 Socket 来实现.FTP 客户端与服务器端进行数据交换必须建立两个套接字,一个作为命令通道,一个作为数据通 ...
- python环境搭建-设置PyCharm软件的配色方案和Python解释器
设置PyCharm软件的配色方案 设置Python解释器(用于Python2 or 3 的切换)
- 安装myeclipse10后破解时发现没有common文件夹
今天重新安装了myeclipse10软件,然后在破解的时候发现安装目录下没有common,这是因为以前安装过myeclipse,卸载时没有完全清除,再次安装时,myeclipse会自动找到以前安装的c ...
- springMVC+mybatis 进行单元测试时 main SqlSessionFactoryBean - Parsed configuration file: 'class path resource' 无限的读取xml文件
今天终于写完的Dao层的操作,怀着无比激动的心情,进行单元测试,就在最后一个方法,对的就是最后一个方法,启动单元测试就会报以下错误: [2016-05-11 18:25:01,691] [WARN ] ...
- zabbix 微信报警
http://blog.csdn.net/wh211212/article/details/52735236 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越 ...
- 将Extjs文件拷入eclipse工程下卡死问题
主要是由于eclipse默认对js文件进行校验,ExtJS中js文件多且庞大造成电脑资源耗尽. 解决方法: 找到工作空间中项目文件夹下的.project文件,将 <buildCommand> ...
- 作业4.5-2用for循环打印菱形
package lx; public class lx { public static void main(String[] args) { for(int i = 1;i <= 10 ;i++ ...
- Linux_Shell_输出重定向
创建两个文件:touch 1 touch2 命令 > 文件 以覆盖的方式输出正确信息到文件或设备ls > 1 命令 >> 文件 以追加的方式输出正确信息到文件或设备l ...
- 【POJ 3241】Object Clustering 曼哈顿距离最小生成树
http://poj.org/problem?id=3241 曼哈顿距离最小生成树模板题. 核心思想是把坐标系转3次,以及以横坐标为第一关键字,纵坐标为第二关键字排序后,从后往前扫.扫完一个点就把它插 ...