MySQLdb使用
首先连接数据库
Conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',db='longze',port=3306,
charset='utf8') # charset与MySQL中使用相同,尽量使用UTF-8,统一处中文
取得游标
cursor = Conn.cursor()#默认返回的游标取得的row是list组织的
可以传入MySQLdb.cursors.DictCursor取得以dict组织的row
调用cursor.execute可以执行SQL语句
cursor.execute("INSERT INTO test (name) VALUES (%s)", name)
# insert into test(name) values($name)
对于主键ID设定为auto_increment的表可以通过cursor.lastrowid取得插入行的ID
当ID为auto_increment时ID只会向上增长,被使用过后删除的ID不会被复用,不然会有不同时间内两行对应同一ID,客户端难以区分。
当MySQL使用存储引擎具有事务功能时,MySQLdb会使用事务
conn.commit()#提交事务
conn.rollback()#回滚最近一次事务
复制旧表表结构
CREATE TABLE新表LIKE旧表
show create table旧表;//显示创建旧表的命令
MySQL中正则表达式使用可以参考
http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
对于^和$使用多行模式时,需使用re.M
正则对象的split方法可以进行正则分隔
MySQL的部分数据修改命令:
用update修改记录
UPDATE tbl_name SET 要更改的列
WHERE 要更新的记录
这里的 WHERE 子句是可选的,因此如果不指定的话,表中的每个记录都被更新。
例如,在pet表中,我们发现宠物Whistler的性别没有指定,因此我们可以这样修改这个记录:
mysql> update pet set sex=’f’ where name=” Whistler”;
用delete删除记录
DELETE 语句有如下格式:
DELETE FROM tbl_name WHERE 要删除的记录
WHERE 子句指定哪些记录应该删除。它是可选的,但是如果不选的话,将会删除所有的记录。这意味 着最简单的 DELETE 语句也是最危险的。
为了删除特定的记录,可用 WHERE 子句来选择所要删除的记录。这类似于 SELECT 语句中的 WHERE 子句。
mysql> delete from pet where name=”Whistler”;