一个小玩具: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")
一个小玩具:Python调用Mysql的更多相关文章
- python3.4学习笔记(二十五) Python 调用mysql redis实例代码
python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...
- python 调用mysql存储过程返回结果集
存储过程: delimiter | ),)) begin select * from tb_test where mid = imid and user = iuser; end; | delimit ...
- Python调用MYSQL,将文件名和路径批量入库用法小结
最近项目需要将大量的压缩文件导入到数据库中,所以开始总结用Python批量处理的办法,本次是首先将这些压缩文件的文件名提取出来,然后导入到数据库中. 由于涉及到路径的读取处理,所以方法有os模块和co ...
- 一个小玩具:NDK编译FFmpeg的例子
FFmpeg NDK编译 和最简单的APK 准备 硬件: 一台电脑,实验在Lenovo T430上 一个Android设备,实验在 三星S3/A7 编译环境: Ubuntu 14.04 (ant\ja ...
- 统计的一个小题目python实现
最近面试碰到的一个题目,业余时间用python实现的. 拿到数据,先用sort 命令排序,也可再进一步去重复 sort -k 1,2 data.txt |uniq > data.new # ...
- python调用MySQL数据库
在Python中访问mysql数据库中的数据需要三步骤: 1,建立连接 2,操作数据库 3,连接关闭
- 一个小玩具:NDK编译SDL的例子
NDK编译SDL 准备: 硬件 一台电脑,实验在Lenovo T430上 一个Android设备,实验在 三星S3/A7 编译环境: Ubuntu 14.04 (ant\java等命令必须支持) 工具 ...
- 一个小问题 关于 com.mysql.jdbc.PacketTooBigException: Packet for query is too large
这个错本身就是应为传输的数据大于mysql的max_allowed_packet参数默认值造成的: 之前遇到这个问题,一直是改max_allowed_packet的值 ,做项目遇到这个错误改了好几次, ...
- Python调用MySQL的一些用法小结
目标:1个excel表内容导入到数据库中,例如:原始excel文件为 aaa.xls 首先:将aaa.xls 转换成aaa.txt ,注意当文件中含有中文字符时,可以通过notepad++打开,在“格 ...
随机推荐
- PHP微信红包的算法实现探讨
header("Content-Type: text/html;charset=utf-8");//输出不乱码,你懂的 $total=10;//红包总额 $num=8;// 分成8 ...
- 以前5年只专注于.net,现今开始学习java.
从2011年毕业至今一直在学习.net和c#,大概几年6月份底开始研究java了. 虽然不知道以后的路是否好走,但是我依然会努力.不放弃! 写这篇文字是为了鼓励自己,也为这段时光留下记忆.加油,红红!
- noi 04:网线主管
04:网线主管 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 仙境的居民们决定举办一场程序设计区域赛.裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正 ...
- 转:DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)之一
转载来自:http://blog.csdn.net/shanghaiqianlun/article/details/6976804 作者:shanghaiqianlun的专栏 1.结构框图: 2.管脚 ...
- android:onclick属性
android:onclick属性设置点击时从上下文中调用指定的方法,此时给指定一个方法名.例如: xml中: <Button android:layout_width="wrap_c ...
- 《OpenCL异构计算》新版中译本派送中!
<OpenCL异构计算1.2>新鲜出炉,目前市面上仍一书难求!我们已向清华出版社订购到第一批新书.关注异构开发社区,积极参与,就有可能免费获取新书! 1.如果您异构社区的老朋友,请关注:1 ...
- HDU_2045——RPG问题,递推
Problem Description 人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Co ...
- HDU_2025——查找最大的字母
Problem Description 对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”. Input 输入数据包括多个测试实例,每个实例由一行长度不超过100的字符 ...
- Tomcat类加载器
1JVM类加载机制 JVM的ClassLoader通过Parent属性定义父子关系,可以形成树状结构.其中引导类.扩展类.系统类三个加载器是JVM内置的. 它们的作用分别是: 1)引导类加载器:使 ...
- mybatis + log4j 打印mybatis的sql
项目中使用log4j管理日志,同时使用了mybatis 在log4j中rootLogger级别是info的情况下正常是不会打印sql出来的,这个时候设置如下: log4j.rootLogger=inf ...