1、启动SQL服务:net start mysql
2、登录MYSQL数据库>mysql -h localhost -u root -p
3、创建数据库:CREATE DATABASE [IF NOT EXISTS] <数据库名>;
4、创建表:-》USE test_db;
---》CREATE TABLE tb_emp1{字段}
5、事务机制可以保持数据一致性,具有4个属性:原子性,一致性,隔离性,持久性
6、内外连接区别:
(1)内连接:组合两个表中的记录,返回关联字段相符的记录,即返回两个表的交集 inner join ....on....
select * from a_table a inner join b_table b on a.a_id = b.b_id;
(2)左(外连接):left join on / left outer join on:左外连接中左表记录全部展示,右表只显示符合搜索条件的记录
语句:select * from a_table a left join b_table b on a.a_id = b.b_id;
(3)右(外连接):right join on / right outer join on:右外连接右边全部展示,左表只显示符合搜索条件的记录
语句:select * from a_table a right outer join b_table b on a.a_id = b.b_id;
7、如果需要将任意值转化为字符串用str()或repr(),repr()转化为供解释器阅读的形式
8、封装数据库相关操作
importpymysqlclassDbhelper(object):def __init__(self,host,user,password,port,database):
self.host=host
self.user=user
self.password=password
self.port=port
self.database=database
#连接数据库defget__conn(self):
conn=pymysql.connect(host=self.host, user=self.user, password=self.password, db=self.database)
cur=conn.cursor()returnconn,cur
#执行sql语句,主要用来做插入操作defexec_data(self,sql):
conn, cur=self.get__conn()try:
cur.execute(sql)
conn.commit()except:print("执行失败")
conn.rollback()
conn.close()
#查询数据库所有行defselectall(self,sql):
conn,cur=self.get__conn()
data=Nonetry:
cur.execute(sql)
data=cur.fetchall()except:print("查询失败")
conn.close()returndatadef __del__(self):
conn,cur=self.get__conn()
conn.close()
cur.close()
举例使用:
importSQL1if __name__=="__main__":
client=SQL1.Dbhelper('192.168.207.16','root','123456','3306','test')
#sql拼接用repr,将字符串原样输出
sql='insert into students(name,age,sex) values(%d,%s,%s)'%(10,repr('che'),repr('girl'))
sql1='select * from students'client.get__conn()
result=client.exec_data(sql)
res=client.selectall(sql1)for data inres:print("%s %s %s"%(data[0],data[1],data[2]))