温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中mysql常见语法有哪些

发布时间:2020-11-30 09:33:10 来源:亿速云 阅读:162 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关python中mysql常见语法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

一、数据库的命令

查看所有的数据库:show databases;
创建一个叫test的数据库:create database test; 
删除一个叫test的数据库:drop database test;
选中库 ,在建表之前必须要选择数据库:use test;
在选中的数据库之中查看所有的表:show tables; 

表名 (字段1 类型, 字段2 类型):create table ;
表名;查看所在的表的字段:desc ;
表名; 删除表:drop table ;
库名;查看创建库的详细信息:show create database;

表名; 查看创建表的详细信息:show create table ;

二、数据表的命令

修改表名:ALTER TABLE 表名1 RENAME TO 表名2; 

添加列:ALTER TABLE 表名 ADD COLUMN 列名 列类型(如:VARCHAR(30)); 

删除列:ALTER TABLE 表名 DROP COLUMN 列名; 

选择:SELECT * FROM 表名 WHERE 范围;

插入:INSERT INTO 表名(字段名1,字段名2) VALUES(字段值1,字段值2);

删除:DELETE FROM 表名 WHERE 范围;

更新:UPDATE 表名 SET 字段名=字段值 WHERE 范围;

查找:SELECT * FROM 表名 WHERE 字段名 LIKE ’% 字段值 %’ ;

排序:SELECT * FROM 表名 ORDER BY 字段名1,字段名2 [DESC];

总数:SELECT COUNT AS totalcount FROM 表名;

求和:SELECT SUM(字段值) AS sumvalue FROM 表名;

平均:SELECT AVG(字段名) AS avgvalue FROM 表名;

最大:SELECT MAX(字段名) AS maxvalue FROM 表名;

最小:SELECT MIN(字段名) AS minvalue FROM 表名;

三、数据命令

增加数据

INSERT INTO n VALUES (1, 'tom', '23'), (2, 'john', '22');

INSERT INTO n SELECT * FROM n;  # 把数据复制一遍重新插入

删除数据

DELETE FROM n WHERE id = 2;

更改数据

UPDATE n SET name = 'tom' WHERE id = 2;

数据查找

SELECT * FROM n WHERE name LIKE '%h%';

数据排序(反序)

SELECT * FROM n ORDER BY name, id DESC ;

四、多表联合查询

1.内连接

隐式内连接 select username,name from user,goods where user,gid=gods,gid;

显示内连接

select username,from user inner join goods on user.gid=goods.gid;

select * from user left join goods on user.gid=goods.gid;

2.外链接

左连接 包含所有的左边表中的记录以及右边表中没有和他匹配的记录

右连接 

select * from user where gid in(select gid from goods);

select * from user right jOin goods on user.gid=goods.gid;

子嵌套查询

数据联合查询

select * from user left join goods on user.gid=goods.gid union select * from user right join goods on user.gid=goods.gid;

两个表同时更新

update user u, goods g set u.gid=12,g.price=1 where u.id=2 and u.gid=g.gid;

五、视图命令

创建视图

CREATE VIEW v AS SELECT id, name FROM n;

CREATE VIEW v(id, name) AS SELECT id, name FROM n;

查看视图(与表操作类似)

SELECT * FROM v;

DESC v;

查看创建视图语句

SHOW CREATE VIEW v;

更改视图

CREATE OR REPLACE VIEW v AS SELECT name, age FROM n;

ALTER VIEW v AS SELECT name FROM n ;

删除视图

DROP VIEW IF EXISTS v;

五、用户命令

增加用户

CREATE USER 
'test'@'localhost'
 IDENTIFIED BY 'test';

INSERT INTO mysql.user(Host, User, Password) VALUES ('localhost', 'test', Password('test'));    # 在用户表中插入用户信息,直接操作User表不推荐

删除用户

DROP USER 
'test'@'localhost'
;

DELETE FROM mysql.user WHERE User='test' AND Host='localhost';

FLUSH PRIVILEGES ;

更改用户密码

SET PASSWORD FOR 
'test'@'localhost'
 = PASSWORD('test');

UPDATE mysql.user SET Password=Password('t') WHERE User='test' AND Host='localhost';

FLUSH PRIVILEGES ;

用户授权

GRANT ALL PRIVILEGES ON *.* TO 
test@localhost
 IDENTIFIED BY 'test';

授予用'test'密码登陆成功的
test@localhost
用户操作所有数据库的所有表的所有的权限

FLUSH PRIVILEGES ;   # 刷新系统权限表,使授予权限生效

撤销用户授权

REVOKE DELETE ON *.* FROM 
'test'@'localhost'
;   # 取消该用户的删除权限

六:事物命令

mysql> use RUNOOB; 
Database changed 
mysql> CREATE TABLE runoob_transaction_test( id int(5)) engine=innodb; 
Query OK, 0 rows affected (0.04 sec) 
mysql> select * from runoob_transaction_test; 
Empty set (0.01 sec)
mysql> begin; # 开始事务 
Query OK, 0 rows affected (0.00 sec) 
mysql> insert into runoob_transaction_test value(5); 
Query OK, 1 rows affected (0.01 sec) 
mysql> insert into runoob_transaction_test value(6); 
Query OK, 1 rows affected (0.00 sec) 
mysql> commit; # 提交事务 
Query OK, 0 rows affected (0.01 sec) 
mysql> select * from runoob_transaction_test;
+------+
| id |
+------+
| 5 |
| 6 |
+------+
2 rows in set (0.01 sec)
mysql> begin; # 开始事务
Query OK, 0 rows affected (0.00 sec) 
mysql> insert into runoob_transaction_test values(7); 
Query OK, 1 rows affected (0.00 sec) 
mysql> rollback; # 回滚 
Query OK, 0 rows affected (0.00 sec) 
mysql> select * from runoob_transaction_test; # 因为回滚所以数据没有插入
+------+
| id |
+------+
| 5 | | 6 |
+------+ 
2 rows in set (0.01 sec)

七、备份与还原

数据库备份

mysqldump -u root -p db_name > file.sql

mysqldump -u root -p db_name table_name > file.sql

数据库还原

mysql -u root -p < C:\file.sql

感谢各位的阅读!关于python中mysql常见语法有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI