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的更多相关文章

  1. 曾Python培训讲师-2年Python开发无包装简历-20191217-可公开

    目录 个人介绍 技能介绍 项目经历 自我评价 简历非完整版,需要完整版看下述信息,禁止任何一切私人用途.转发 我生日是27号,那就27元一份,有需求的来购买!只会涨价不会降价,大概卖10份涨1元:曾P ...

  2. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

  3. python——django使用mysql数据库(二)

    上一篇中,我们已经讲述了如何初始化一个django数据库,这一章就来讲讲在实际的项目中如何使用我们初始化的数据库呢? 如还未进行初始化数据库操作,请参考python——django使用mysql数据库 ...

  4. python——django使用mysql数据库(一)

    之前已经写过如何创建一个django项目,现在我们已经有了一个小骷髅,要想这个web工程变成一个有血有肉的人,我们还需要做很多操作.现在就先来介绍如何在django中使用mysql数据库. 前提:已经 ...

  5. Python 3 and MySQL

    http://stackoverflow.com/questions/4960048/python-3-and-mysql up vote61down votefavorite 20 I am usi ...

  6. 智普教育Python培训之Python开发视频教程网络爬虫实战项目

    网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 01.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 02.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Pytho ...

  7. 2015老男孩Python培训第八期视频教程

    2015老男孩Python培训第八期视频教程,希望您通过本教程的学习,能学会常用方法和技巧.教程从基础知识开始讲解一直到后期的案例实战,完全零基础学习,从初学者的角度探讨分析问题,循序渐进由易到难,确 ...

  8. 老王Python培训视频教程(价值500元)【基础进阶项目篇 – 完整版】

    老王Python培训视频教程(价值500元)[基础进阶项目篇 – 完整版] 教学大纲python基础篇1-25课时1.虚拟机安装ubuntu开发环境,第一个程序:hello python! (配置开发 ...

  9. python & pandas链接mysql数据库

    Python&pandas与mysql连接 1.python 与mysql 连接及操作,直接上代码,简单直接高效: import MySQLdb try: conn = MySQLdb.con ...

随机推荐

  1. floyd原理以及求最小环

    floyd这个东西学会了好久了,但是原理总是忘记,或者说没有真正的明白,这里在说一下. 我们要求的是任意的 i,j 之间的最短路径,用动态规划的思想来解决就是f[i,j,k]表示i到j中间节点不超过k ...

  2. linux | 管道符、输出重定向

    1 输出重定向 ll > a.txt 将 ll的结果写入到a.txt 2 管道符 ls -la | grep h* 这条命令的理解为:ls -la 的结果作为gerp h* 的结果 gerp 是 ...

  3. python2.X和3.X的一些区别【整理中】

    1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可  以取得很好的优化结果.  Py3.1性能比P ...

  4. java设计优化--单例模式

    单例模式是一种对象创建模式,确保系统中一个类只有一个实例. 在java语言中,这样做有两大好处: 1.对于频繁使用的对象,可以省略创建对象所话费的时间: 2.由于new操作的次数减少,对于系统内存的使 ...

  5. 使用D3绘制图表(5)--水平柱状图表

    绘制水平柱状图表的方法也不是很难,首先在svg中插入g,然后在g中插入rect. 1.html代码 <!DOCTYPE html> <html> <head> &l ...

  6. zabbix_server的自动发现,实现批量添加主机,并链接到模板

    一.需求 zabbix 服务器可以手动加入zabbix-agent客户端,对于少量的机器,这没有什么.但到了线上,我们有大量的服务器需要监控时,如果再一个个的手动加的话,工作量势必会增加很多.这时,z ...

  7. tomcat 监控

    主要监控JVM (1)JPS(快速获取Java的PID) 这个是jdk包里的 显示Java进程的 +l +v +m (2)jstack 命令格式: 常用说明: (3)jmap 现在列举生产中遇到的JV ...

  8. 【UOJ #150】【NOIP 2015】运输计划

    http://uoj.ac/problem/150 用树链剖分求lca,二分答案树上差分判断. 时间复杂度$O(nlogn)$,n,m同阶. #include<cstdio> #inclu ...

  9. 评价指标ROC,PR

    之前实习的时候一直见公司里面的人说什么AUC, 实际AUC就是ROC曲线的面积 PR是precise和recall曲线,和ROC的区别是,当测试集中的正负样本分布变化的时候,ROC曲线能够保持不变,而 ...

  10. Entity Framework Code First (三)Data Annotations

    Entity Framework Code First 利用一种被称为约定(Conventions)优于配置(Configuration)的编程模式允许你使用自己的 domain classes 来表 ...