python操作mysql

一、mysql基础:

 1.数据类型:
  1)数字类型:
    整数: tinyint、smallint、mediumint、int、bigint
    浮点数: float、double、real、decimal
  2)日期和时间: date、time、datetime、timestamp、year
  3)字符串类型:
    字符串: char、varchar
    文本: tinytext、text、mediumtext、longtext
    二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob
  2.一些命令:
  1)mysql -h 主机名 -u 用户名 -p  远程登录加-h
  2)create database 数据库名 [其他选项];  eg:create database samp_db character set gbk;
  3)show databases; 查看有哪些数据库
  4)mysql -D 所选择的数据库名 -h 主机名 -u 用户名 -p
  5) use 数据库名;切换数据库
  6)create table 表名称(列声明);
    eg:  create table students (
           id int unsigned not null auto_increment primary key,
           name char(8) not null,
           sex char(4) not null,
           age tinyint unsigned not null,
           tel char(13) null default "-"
         );
    可以通过任何文本编辑器将语句输入好后保存为 createtable.sql 的文件中, 通过命令提示符下的文件重定向执行执行该脚本。
    打开命令提示符, 输入: mysql -D samp_db -u root -p < createtable.sql
  7)create table tablename(columns)
  8)describe 表名; 命令可查看已创建的表的详细信息。
  9)insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);
  10)select 列名称 from 表名称 [查询条件];
  11)where 关键词用于指定查询条件, 用法形式为: select 列名称 from 表名称 where 条件;
  12)update 表名称 set 列名称=新值 where 更新条件;
  13)delete from 表名称 where 删除条件;不加where表示清空表中所有的内容,和TRUNCATE [TABLE] tbl_name一样
  14)添加列:alter table 表名 add 列名 列数据类型 [after 插入位置];
  15)修改列:alter table 表名 change 列名称 列新名称 新数据类型;
  16)删除列:alter table 表名 rename 新表名;
  17)删除库:drop database 数据库名;
  18)drop table命令用于删除数据表。
  19)mysqladmin -u root -p password 新密码

二、python操作mysql

1 import MySQLdb
2 db=MySQLdb.connect(localhost,root,*****,students)
3 cursor = db.cursor()
4 cursor.execute("SELECT VERSION()")
5 data = cursor.fetchone()
6 print "Database version : %s " % data
7 db.close()
 1 import MySQLdb
 2 db = MySQLdb.connect("localhost","root","*****","students" )
 3 cursor = db.cursor()
 4 sql = """INSERT INTO student(NAME,AGE, SEX, INCOME)
 5          VALUES (‘Mac‘, 20, ‘M‘, 2000)"""
 6 try:
 7    cursor.execute(sql)
 8    db.commit()
 9 except:
10    db.rollback()
11 db.close()

  必须执行 db.commit()函数提交操作结果。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。