python数据库简单操作
2017-08-25 16:05
381 查看
#python2.7 #mysql
数据库连接:
1.普通连接
import MySQLdb try: db = MySQLdb.connect(host = base_ip,user = base_user,charset = 'utf8',passwd = base_pwd,db = base_db) except Exception as e: print e cursor = db.cursor() cursor.execute('select * from table_name') cursor.fetchall() db.close()
2.连接池连接
import pymysql from DBUtils.PooledDB import PooledDB mysql_db_pool=PooledDB(creator=pymysql, mincached=1, maxcached=2, maxconnections=100, host=host, port=3306, user=user, passwd=passwd, db=db, charset='utf8', use_unicode=False, blocking=True)#maxconnections为最大连接数 db = mysql_db_pool.connection() # 连接 cursor = db.cursor() ... #其他基本操作与普通连接数据库无异
数据库更新:
sql = "update table_name set data1='{0}' where data_id='{1}' " .format(up1,flag) try: cursor.execute(sql) cursor.commit() except Exception as e: cursor.rollback() print e cursor.close()
数据库插入:
sql = """INSERT INTO table_name( data1,data2,data3,data4) VALUES (%s,%s,%s,%s)""" #不管要入库的数据是什么格式都写成 %s try: cursor.execute(sql,(data_str,data_text,data_json,data_int)) db.commit() # except: cursor.rollback() db.close()
<>至于数据库其他操作,一般直接操作数据库<>
MyCli:支持自动补全和语法高亮的 MySQL 客户端 安装: $ pip install mycli 如果是OS X平台: $ brew install mycli 怕麻烦就直接使用mysql #下面mycli命令和mysql可以互换 #大小写无所谓,为了区分而已
建/删除数据库:
#root权限下 #create:建 #drop:删除 mysqladmin -u root -p create DATABASE Enter password:******
建/删除表:
如果要建一个和已知表相同的表
show create table table_name; #复制粘贴就行了(和下面一样)
CREATE TABLE IF NOT EXISTS `table_name`( `data_1` INT UNSIGNED AUTO_INCREMENT, `data_2` VARCHAR(100) NOT NULL, `data_3` VARCHAR(40) NOT NULL, `data_4` DATE, PRIMARY KEY ( `data_1` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
删除
#删除表中全部或者部分数据 DELETE FROM table_name WHERE data_1 = '123'; #删除表 DROP TABLE table_name;
连接数据库:
mycli -hHOST -uUSER -pPSW
查看/选择数据库
show databases; use database_name;
查看数据表
show tables;
查找:
SELECT * FROM table_name; SELECT * FROM table_name LIMIT 5\G; SELECT data1,data2 FROM table_name WHERE data = '123'; SELECT DISTINCT data1 FROM table_name ; #无重复查找 #查找id重复数大于1的所有数据 SELECT id,COUNT(id) AS s_count FROM table_name WHERE source=sr GROUP BY id HAVING s_count>1
一个表的数据插入另一个表中
#[input table] INSERT INTO target SELECT * FROM source; INSERT IGNORE INTO target SELECT * FROM source; #忽略键值重复的 REPLACE INTO target SELECT * FROM source; #替换键值重复的
导出数据本地:
$ mysqldump -hHOST -uUSER -pPSW database_name table_name > tmp.sql
从本地导入数据:
$ mysqlimport -hHOST -uUSER -pPSW --local database_name tmp.sql
写在最后
关于linux/unix下mysql的命令设置编辑~/.bashrc文件,加入下面语句 alias mysql=/usr/local/mysql/bin/mysql alias mysqladmin=/usr/local/mysql/bin/mysqladmin 编辑~/.bash_profile文件,加入下面语句 source ~/.bashrc 完成后mysql命令便会永久生效
相关文章推荐
- python学习――对数据库的简单操作
- 学习python之编写简单简单连接数据库并执行查询操作
- 第七课 Python3 简单三步学会数据库操作
- Python 搞搞数据库 简单的SQLite操作前 之读取文档 readlines
- Python操作CouchDB数据库简单示例
- 修改torndb库为依赖pymysql,使其适应python3,一个更简单的操作数据库的类。
- python实现简单数据库连接及操作
- python orm框架SQLAlchemy简单应用(数据库操作)
- Python连接数据库并进行简单操作整理
- 学习python 第三季:编写简单简单连接数据库并执行查询操作
- python_数据库简单操作
- Python 搞搞数据库 简单的SQLite操作前 之矩阵 matrix
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
- 学习python之编写简单简单连接数据库并执行查询操作
- Python操作CouchDB数据库简单示例
- python 简单的数据库操作之转账
- python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查
- python 简单的数据库操作之转账
- python sqlite3 连接到数据库,创建表,INSERT 、SELECT、UPDATE 、DELETE等简单操作