MySQL操作

1.创建数据库

mysql>CREATE DATABASE NR_name_list;

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| NR_name_list       |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.37 sec)

2.在数据库下创建表,删除表

mysql>use NR_name_list;  #指定数据库
Database changed
mysql>CREATE TABLE NR_tab ( id VARCHAR(100) PRIMARY KEY, longname VARCHAR(5000)); #创建表 id长度100 作为主键,longname长度5000
Query OK, 0 rows affected (0.01 sec)
mysql> show tables;
+------------------------+
| Tables_in_NR_name_list |
+------------------------+
| NR_tab                 |
+------------------------+
1 row in set (0.00 sec)
mysql> DROP TABLE NR_tab; #删除表
Query OK, 0 rows affected (0.23 sec)
mysql> show tables;
Empty set (0.00 sec)

3.载入数据
直接载入文件

LOAD DATA INFILE '/mnt/sdb/chenyw/software/mysql-5.7.21-linux-glibc2.12-x86_64/data/gi.nr.func.xls' INTO TABLE NR_tab;

添加条目到表

mysql> INSERT INTO NR_tab (id,longname) VALUES ('value1','value2');

4.查询数据
PyMySQL

import pymysql
connection = pymysql.connect(host='192.168.0.101',user='root',password='mypassword',db='NR_name_list',port=3336) #创建连接
cursor = connection.cursor() #创建游标
##单条查询
sql = "select * from NR_tab WHERE id='gi|1442330305|ref|YP_009505146.1|'" #定义mysql命令
cursor.execute(sql) #执行命令
result_1 = cursor.fetchone() #获取查询的内容
print result_1
('gi|1442330305|ref|YP_009505146.1|', 'Replication helicase subunit (plastid)')
###多条查询
sql="select  *  from  NR_tab where id in('gi|1442330305|ref|YP_009505146.1|','gi|1442330388|ref|YP_009505229.1|')"
cursor.execute(sql)
result_2 = cursor.fetchall()
print result_2
(('gi|1442330305|ref|YP_009505146.1|', 'Replication helicase subunit (plastid)'), ('gi|1442330388|ref|YP_009505229.1|', 'Cytochrome b6-f complex subunit 4 (plastid)'))

5.Navicat 访问Mysql

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; #授权任何ip都能用root访问数据库
图片.png

图片.png

6.脚本实现

def flat_gen(x):
    import collections
    def iselement(e):
        return not(isinstance(e, collections.Iterable) and not isinstance(e, str))
    for el in x:
        if iselement(el):
            yield el
        else:
            yield from flat_gen(el)
def add_long_name(tab,pref):
    ##connect mysql
    import pymysql
    connection = pymysql.connect(host='192.168.0.101',\
                                 user='root',password='mypassword',db='NR_name_list',port=3336)
    cursor = connection.cursor()
    ##add name
    f = open(tab,'r')
    f1 = open(pref,'w')
    f1.write('GeneID\tIdent-rate\tIdent-len\tQ-Begin\tQ-End\tH-Begin\tH-End\tevalue\tscore\tgiID\tfunc\n')
    for i in f:
        tmp = i.strip().split('\t')
        short_name = i.strip().split('\t')[1]
        sql_comm ="select longname from NR_tab WHERE id='{}'".format(short_name)
        cursor.execute(sql_comm)
        tmp.append(cursor.fetchone()[0])
        tmp=list(flat_gen([tmp[0],tmp[2:4],tmp[6:12],tmp[1],tmp[12]]))
        f1.write('\t'.join(tmp)+'\n')
    f.close()
    f1.close()
    cursor.close()
    connection.close()

if __name__ == "__main__":
    import argparse
    parser = argparse.ArgumentParser(description="Scrpit for add NR longname to tab")
    parser.add_argument("rawtab", type=str, help="table without NR longname")
    parser.add_argument("prefix", type=str, help="output prefix")
    args = parser.parse_args()
    tab1 = args.rawtab
    prefix = args.prefix
    add_long_name(tab1,prefix)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容

  • 一、mysql数据库基本操作命令 1.linux下启动mysql的命令: 2.linux下重启mysql的命令: ...
    AlbenXie阅读 450评论 0 1
  • mysql中delete、truncate、drop的区别 1.delete和truncate仅删除表数据,dro...
    好一个坏小孩阅读 674评论 0 1
  • 在安装环境都好之后就可以对数据库进行操作了 一、数据库的基本操作 1、查看数据库:show databases;M...
    寒桥阅读 688评论 0 0
  • https://www.kirito41dd.cn/mysql-operation-manual/[https:/...
    哟破赛呦阅读 2,717评论 0 4
  • 1.远程登录mysql mysql -h ip -u root -p 密码 2.创建用户 格式:grant 权限 ...
    jack_520阅读 1,247评论 0 1