欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Python教程:学习如何使用Python连接和操作MySQL数据库

最编程 2024-01-02 15:47:10
...

下载安装

https://dev.mysql.com/downloads/mysql/

安装时候,需要设置一个root账号的密码

终端操作方法

进入mysql:

PATH="$PATH":/usr/local/mysql/bin

mysql -uroot -p #以root账户登录

关闭命令:

quit

管理

用户设置(mysql里默认有一个高级数据库mysql,里面有user表,里面设置了数据)

use mysql; #切换到mysql数据库,show tables->可以看到user表

select user,host from mysql.user; #查看现在所有用户

【create】创建用户

createuser 't1'@'localhost'identified by'12345678’;

flush privileges;//创建完要记得刷新权限表

【show grants for】查看权限

show grants for’t1’@‘localhost’

【grant】授权、修改密码等

grant[权限]on[数据库名].[表名]to'[用户名]'@'[作用域]' identified by '[密码]’; //权限包括:ALL, select, update, insert, delete 等

flush privileges;//记得刷新权限表  

【alter】修改密码

alteruser '[用户名]'@'[作用域]'identified by'[新密码]';//两个都是修改密码的命令,使用其中一个就好

set password for[用户名]@[作用域]=password('[新密码]');

flush privileges;//刷新权限表,

【revoke】撤销权限

revoke[权限]on[数据库名].[表名]from'[用户名]'@'[作用域]';

flush privileges;//属性权限表

【drop】删除用户

dropuser '[用户名]'@'[作用域]';//建议使用这个delete frommysql.userwhereuser='[用户名]' and host='[作用域]';

flush privileges;//刷新权限表

Database管理(DDL)

【create】创建数据库:

createdatabase [DatabaseName];

【show】显示数据库:

showdatabases;

【drop】删除数据库:

dropdatabase [DatabaseName];

【use】切换数据库:

use[DatabaseName];

【select】查看当前数据库:

selectdatabase();

Table管理

【create】创建表格:

createtable [TableName](

ID int AUTO_INCREMENT PRIMARY KEY,

NAME varchar(20) not null,

AGE int not null,

BIRTHEDAY datetime);

createtalbe Newselect * fromPEOPLE;

【alter…add/modify/drop】修改表结构:

ALTER TABLE KEYCHAIN CONVERT TO CHARACTER SET UTF8;

altertable PEOPLEaddstar BOOL; #新增star字段 #tinyint(1)是bool

altertable PEOPLEmodifystar intnot null; #允许某个字段为不为空

altertable PEOPLEmodifystar int(2); #修改字段属性

altertable PEOPLEdrop columnstar; #删除字段star

altertable PEOPLEdropstar; #删除字段star

【show】显示表格:

showtables;

【desc】查看表结构:

descPEOPLE;

【rename..to..】重命名表;

renametable PEOPLEtoNEW_PEOPLE;

Data管理

【insert into】创建数据;

insert intoPEOPLEvalue(null,’stee’,12);

【delete】删除数据;

delete fromPEOPLEwherename = ’stee’;

truncatetable PEOPLE;

【update】更新数据;

updatePEOPLEsetname = ‘laurence’wherename = ’stee'

【select】查看表数据;

select * fromPEOPLE;

selectNAME, AGEfromPEOPLE;

视图管理:

视图是从数据库里导出一个或多个表的虚拟表,是用来方便用户对数据的操作。

当视图数据有变化时(增、删、改),真实的表数据也会随着改变。也就是说,对视图的操作就是对表的数据,所以我们可以把视图当作表。

【create view】创建视图;

create viewPEOPLE_VIEW(NAMEs,AGE)as selectNAME, AGEfromPEOPLE;

replace viewPEOPLE_VIEW(NAMEs,AGE)as selectNAME, AGEfromPEOPLE;

【drop】删除视图:

drop viewPEOPLE_VIEW;

【desc】查看视图字段设置;

descPEOPLE_VIEW;

【select】查看视图数据;

select *fromPEOPLE_VIEW;

pymysql库的操作

链接

con = pymysql.connect(host='localhost',port=3306,

database='hrs',charset='utf8',

user='yourname',password='yourpass')

获取游标

con =pymysql.connect(host='localhost',port=3306,

database='hrs',charset='utf8',

user='yourname',password='yourpass')

try:

    # 2. 通过连接对象获取游标

    with con.cursor() as cursor:

        # 3. 通过游标执行SQL并获得执行结果

cursor.execute(

            'insert into tb_dept values (%s, %s, %s)',

            (no, name, loc)

       )

    # 4. 操作成功提交事务

con.commit()

finally:

    # 关闭光标对象

    cursor.close()

    # 5. 关闭连接释放资源

con.close()

参考:

用python批量插入数据到数据库中

推荐阅读