一个小玩具:Python调用Mysql

1. ubuntu安装MySQL

how to install:
$ sudo apt-get install mysql-server
$ sudo apt-get install mysql-client
$ sudo apt-get install libmysqlclient-dev
#python DB API
$  sudo apt-get install python-mysqldb

check:
sudo netstat -tap | grep mysql

run:
mysql -u root -p

simple commands:
mysql> show databases;
mysql> use mysql    #use database mysql
mysql> show tables;

TIPs:
1. always ends an argument with a ‘;‘
2. not case-sensitive except TABLE and DATABASE names

2. 跟着学一点简单命令"MySql CookBook 3rd"

> CREATE DATABASE cookbook;
> USE cookbook;
> CREATE TABLE limbs (thing VARCHAR(20), legs INT, arms INT);

> INSERT INTO limbs (thing, leg, arms) VALUES(‘insect‘,6, 0);
> INSERT INTO limbs (thing, leg, arms) VALUES(‘armchair‘, 4, 2);
> INSERT INTO limbs (thing, leg, arms) VALUES(‘human‘,2, 2);
> INSERT INTO limbs (thing, leg, arms) VALUES(‘tripod‘,3, 0);
> INSERT INTO limbs (thing, leg, arms) VALUES(‘squid‘, 0, 10);
> INSERT INTO limbs (thing, leg, arms) VALUES(‘fish‘, 0, 0);
> INSERT INTO limbs (thing, leg, arms) VALUES(‘centipede‘, 100, 0);
> INSERT INTO limbs (thing, leg, arms) VALUES(‘table‘, 4, 0);
> INSERT INTO limbs (thing, leg, arms) VALUES(‘armchair‘, 4, 2);
> INSERT INTO limbs (thing, leg, arms) VALUES(‘phonograph‘,0,1);
> INSERT INTO limbs (thing, leg, arms) VALUES(‘Peg Leg Pete‘,1,2);
> INSERT INTO limbs (thing, leg, arms) VALUES(‘space alien‘,NULL,NULL);

> SELECT * FROM limbs;
> SHOW COLUMNS FROM limbs;
> SHOW FULL COLUMNS FROM limbs;
> SHOW FULL COLUMNS FROM limbs \G;
> SHOW FULL COLUMNS FROM limbs LIKE ‘thing‘;
> SHOW FULL COLUMNS FROM limbs LIKE ‘thing‘\G;
> SELECT COUNT(*) FROM limbs;

3. 修改默认的登录账户和密码

$ sudo vim /etc/mysql/my.cnf
    [client]
    user        = cbuser
    password    = cbpass
$ mysql --print-defaults
here you get:
mysql would have been started with the following arguments:
--user=root --password=****** --port=3306 --socket=/var/run/mysqld/mysqld.sock

$ mysql -e "SELECT COUNT(*) FROM limbs" cookbook
$ mysql -e "SELECT COUNT(*) FROM limbs;SELECT NOW()" cookbook
$ mysql -u root -p -e "SELECT COUNT(*) FROM limbs;SELECT NOW()" cookbook

4. 运行一个SQL 文件:
$mysql cookbook < limbs.sql
or:
    mysql> source limbs.sql;
    mysql> \. limbs.sql;

here limbs.sql is:

    DROP TABLE IF EXISTS limbs;
    CREATE TABLE limbs
    (
        thing VARCHAR(20), # what the thing is
        legs INT, # number of legs it has
        arms INT # number of arms it has
    );

    INSERT INTO limbs (thing, legs, arms) VALUES(‘human‘,2, 2);
    INSERT INTO limbs (thing, legs, arms) VALUES(‘insect‘,6, 0);
    INSERT INTO limbs (thing, legs, arms) VALUES(‘armchair‘, 4, 2);
    INSERT INTO limbs (thing, legs, arms) VALUES(‘tripod‘,3, 0);
    INSERT INTO limbs (thing, legs, arms) VALUES(‘squid‘, 0, 10);
    INSERT INTO limbs (thing, legs, arms) VALUES(‘fish‘, 0, 0);
    INSERT INTO limbs (thing, legs, arms) VALUES(‘centipede‘, 100, 0);
    INSERT INTO limbs (thing, legs, arms) VALUES(‘table‘, 4, 0);
    INSERT INTO limbs (thing, legs, arms) VALUES(‘armchair‘, 4, 2);
    INSERT INTO limbs (thing, legs, arms) VALUES(‘phonograph‘,0,1);
    INSERT INTO limbs (thing, legs, arms) VALUES(‘Peg Leg Pete‘,1,2);
    INSERT INTO limbs (thing, legs, arms) VALUES(‘space alien‘,NULL,NULL);
#=====================end of limbs.sql===================================

the mysqldump utility generates database backups by writing a set of SQL statements that re-create the database.

$ mysqldump cookbook > dump.sql

> SELECT * FROM limbs WHERE legs=0;
$ echo "SELECT * FROM limbs WHERE legs=0" | mysql cookbook

Producing HTML or XML output
$ mysql -H -e "SELECT * FROM limbs WHERE legs=0" cookbook > out.html
$ mysql -X -e "SELECT * FROM limbs WHERE legs=0" cookbook > out.xml

mysql -X -e "SELECT * FROM limbs WHERE legs=0" cookbook \
| xsltproc mysql-xml.xsl-

> SELECT @max_limbs := MAX(arms+legs) FROM limbs;
NB: here ‘:=‘ should not be =

> SELECT * FROM limbs WHERE arms+legs = @max_limbs;
> SELECT @name := thing FROM limbs WHERE legs = 0;
> SELECT @name

> SET @max_limbs = (SELECT MAX(arms+legs) FROM limbs);
> SET @x = 1, @X = 2; SELECT @x, @X; #User variable names are not case sensitive
> SELECT CONNECTION_ID();

5. Python DB API

#!/usr/bin/python
# connect.py: connect to the MySQL server
# please goto the belowing link for help:
#    MySQLdb User‘s Guide: http://mysql-python.sourceforge.net/MySQLdb.html
import MySQLdb
try:
    conn = MySQLdb.connect(host=‘localhost‘,db="cookbook",user=‘root‘, passwd=‘*******l‘, port=3306)
    print("Connected")
    cur=conn.cursor()
    count=cur.execute(‘select * from limbs‘)
    print ‘there are ‘+str(count)+ ‘in all‘
    while 0 != count:
        result=cur.fetchone()
        print result
        count-=1
    cur.close()
except:
    print("Cannot connect to server")
else:
    conn.close()
    print("Disconnected")
时间: 2024-08-23 05:05:06

一个小玩具:Python调用Mysql的相关文章

python 调用mysql存储过程返回结果集

存储过程: delimiter | create procedure get_product_info(in imid int(10),int iuser varchar(20)) begin select * from tb_test where mid = imid and user = iuser; end; | delimiter ; python调用: import mysql.connector cnx = mysql.connector.connect( user='test',p

Python调用MYSQL,将文件名和路径批量入库用法小结

最近项目需要将大量的压缩文件导入到数据库中,所以开始总结用Python批量处理的办法,本次是首先将这些压缩文件的文件名提取出来,然后导入到数据库中. 由于涉及到路径的读取处理,所以方法有os模块和commands模块,本次主要采用commands模块(有时间的话,一定要再探索一下os模块实现的方式). # encoding: utf-8#!/usr/bin/python import commandsimport MySQLdb conn = MySQLdb.connect( host='loc

使用python调用mysql模块插入数据

安装MySQLdb python模块 [[email protected] history]# yum install -y MySQL-python 写一个python脚本关联mysql: [[email protected] day2]# cat mysql2.py  #!/bin/usr/python import MySQLdb as mysql con = mysql.connect(user="root",passwd="redhat",        

一个小玩具:NDK编译FFmpeg的例子

FFmpeg NDK编译 和最简单的APK 准备 硬件: 一台电脑,实验在Lenovo T430上 一个Android设备,实验在 三星S3/A7 编译环境: Ubuntu 14.04 (ant\java等命令必须支持) 工具包: NDK: https://dl.google.com/android/ndk/android-ndk32-r10b-linux-x86_64.tar.bz2 SDK:https://dl.google.com/android/adt/adt-bundle-linux-

python调用MySQL数据库

在Python中访问mysql数据库中的数据需要三步骤: 1,建立连接 2,操作数据库 3,连接关闭

Python调用MySQL的一些用法小结

目标:1个excel表内容导入到数据库中,例如:原始excel文件为 aaa.xls 首先:将aaa.xls 转换成aaa.txt ,注意当文件中含有中文字符时,可以通过notepad++打开,在“格式”下选择转存为utf8格式或者选择utf8格式再另存 即: txtFile = aaa.txt #引入MySQLdb库,这个库的安装再另外写 import MySQLdb #定义数据库的接入 def getDbAccessConf( confFileName ): dbIp = "unknown&

#1071 : 小玩具

描述 某天,高富帅clj送了他的朋友jzp一个小玩具. 这个玩具可以被看成是一个n个点,m条边的没有重边和自环的无向图.对于每一条边,有闪光和黑暗两种状态. jzp可以把一些边设为闪光,一些边设为黑暗.当jzp设置完成以后,这个玩具会按照如下方式计算出一个分数.首先称闪光边和这n个点组成的图为导出子图,然后玩具会找出导出子图中最大的联通分量的大小,当做分数输出. jzp有一天很闲,他尝试了所有的2m种边的设置方式(每个边为闪光或者黑暗),并且计算出了每种分数的出现次数.写在了一张纸上. 但是很不

一个小常识

关于python的一个小常识python中不能为变量的关键词"and','as','assert,"break,'cls,'continu,'de'd'elfel,'xe 'finally','for,'from','global','f,'import,'in',',"lambd,'no,'or,pass','print','raise','return','try' ,"while','with','yield' 原文地址:http://blog.51cto.c

Python 练习册,每天一个小程序

Python 练习册,每天一个小程序 说明: Python 练习册,每天一个小程序.注:将 Python 换成其他语言,大多数题目也适用 不会出现诸如「打印九九乘法表」.「打印水仙花」之类的题目 点此链接,会看到每个题目的代码, 欢迎大家 Pull Request 出题目,贴代码(Gist.Blog皆可):-) 本文本文由@史江歌([email protected] QQ:499065469)根据互联网资料收集整理而成,感谢互联网,感谢各位的分享.鸣谢!本文会不断更新. Talk is chea