python2.0_s12_day9_mysql操作

时间:2024-10-29 11:37:44
mysql的基本语法:
1.数据库操作
show databases;
create database 数据库名;如果想允许数据库可以写中文create database 数据库名 charset utf8
use 数据库名;
show tables; 2.数据表操作
create table 表名
(
id int not null auto_increment primary key, # 主键 指每一行的唯一标示符
name char(9) not null,
sex char(4) not null,
age tinyint unsigned not null, # unsigned
tel char(13) null default "_"
);
desc 表名;查看表结构
show create table 表名; 查看这个表是通过什么语句创建的
alter table students add column 字段名 char(30); 给表插入一个字段
InnoDB 数据引擎,是支持事务性操作,比如ATM银行转帐,拿现金转账,当你现金存入,开始转账的时候断电,那么转账失败,同时数据库会把存入成功的记录也会回滚,变得不成功,随后把钱给你退出来. 3.数据操作
insert into 表名(字段1,字段2,字段3) values('值1','值2','值3') ; 数据插入
delete from 表名 where 字段1 = '值'; 删除行记录
update 表名 set 字段2 = 'sb' where 字段1 = '值'; 更新表中某条记录的某个字段值
select * from 表名 ; 查寻表所有记录 4.其他
主键
外键
左右连接 python连接mysql的模块   python连接mysql的模块很多,我们使用MySQLdb模块,需要下载。
一、插入数据
         import MySQLdb

         conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='',db='mydb')

         cur = conn.cursor()

         reCount = cur.execute('insert into UserInfo(Name,Address) values(%s,%s)',('alex','usa'))
# reCount = cur.execute('insert into UserInfo(Name,Address) values(%(id)s, %(name)s)',{'id':,'name':'wupeiqi'}) conn.commit() cur.close()
conn.close() print reCount
    上面使用cur.execute()方法插入一条记录,那么怎样批量插入数据记录呢.可以使用cur.executemany()
      import MySQLdb

         conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='',db='mydb')

         cur = conn.cursor()

         li =[
('alex','usa'),
('sb','usa'),
]
reCount = cur.executemany('insert into UserInfo(Name,Address) values(%s,%s)',li) conn.commit()
cur.close()
conn.close() print reCount
    二、删除数据
         import MySQLdb

         conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='',db='mydb')

         cur = conn.cursor()

         reCount = cur.execute('delete from UserInfo')

         conn.commit()

         cur.close()
conn.close() print reCount
    三、修改数据
 import MySQLdb

         conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='',db='mydb')

         cur = conn.cursor()

         reCount = cur.execute('update UserInfo set Name = %s',('alin',))

         conn.commit()
cur.close()
conn.close() print reCount
    四、查数据
         # ############################## fetchone/fetchmany(num)  ##############################

         import MySQLdb

         conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='',db='mydb')
cur = conn.cursor() reCount = cur.execute('select * from UserInfo') print cur.fetchone()
print cur.fetchone()
cur.scroll(-,mode='relative')
print cur.fetchone()
print cur.fetchone()
cur.scroll(,mode='absolute')
print cur.fetchone()
print cur.fetchone() cur.close()
conn.close() print reCount
         # ############################## fetchall  ##############################

         import MySQLdb

         conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='',db='mydb')
#cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)
cur = conn.cursor() reCount = cur.execute('select Name,Address from UserInfo') nRet = cur.fetchall() cur.close()
conn.close() print reCount
print nRet
for i in nRet:
print i[],i[]