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 ...
随机推荐
- C程序中对时间的处理——time库函数详解
包含文件:<sys/time.h> <time.h> 一.在C语言中有time_t, tm, timeval等几种类型的时间 1.time_t time_t实际上是长整数类型, ...
- apache 伪静态配置
1 现配置站点, <VirtualHost *:80> //访问名称 ServerName my.seo_demo.com //项目地址 DocumentRoot "/Users ...
- 用一条sql语句显示数据百分比并加百分号
来源于:http://neil-han.iteye.com/blog/1948124 求数值所占比重 关键点:(round(t1.cnt/t2.totalCount*100,2))||'%'
- Spring MVC 相关资料整理
来源于:http://www.cnblogs.com/ylhssn/p/4062757.html 1.概述 Spring MVC是一种基于Java实现MVC设计模式的请求驱动类型的轻量级Web框架,即 ...
- 网络流 poj 2135
n个点 m条边 给m条边 求1->n n->1 最小花费,每条边最多走一次 两个最短路显然不行 会影响另外一条 #include<stdio.h> #include<al ...
- mnsday2t1
枚举每个数的因子,然后该因子数量+1,最后扫描一遍,如果该因子数量小于等于m且该因子在1-n之间就输出 复杂度:枚举因子:O(n^1/2*m) 输出答案 : 大概是O(m*?) 一个不知道的数字 #i ...
- 主线程MainThread与渲染线程RenderThread
在Android 5.0之前,Android应用程序的主线程同时也是一个Open GL线程.但是从Android 5.0之后,Android应用程序的Open GL线程就独立出来了,称为Render ...
- 给<tr>标签添加边框
今天做网站时发现给<tr>添加border无效.起初还以为tr不支持这个属性,百度,原来只要给<table>添加一句代码就可以了,代码如下: table{border-coll ...
- Code::Blocks的魅力
Code::Blocks是C/C++集成开发环境,就像Dev C++.Visual Studio. 一.码代码时的技巧 按住Ctrl滚动鼠标滚轮,改变字体大小. Ctrl+D可复制当前行或选中块. C ...
- extract()函数
extract(),它的主要作用是将数组展开,键名作为变量名,元素值为变量值 extract($_POST);//相当于$username = $_POST['username'];//$passwo ...