返回顶部
首页 > 资讯 > 数据库 >Python中操作mysql知识(二)
  • 998
分享到

Python中操作mysql知识(二)

2024-04-02 19:04:59 998人浏览 泡泡鱼
摘要

1.创建表Teacher:create table Teacher( teaid int not null, teaname varcha&#

1.创建表Teacher:

create table Teacher(
	teaid int not null,
	teaname varchar(100),
	age int,
	sex enum('M', 'F'),
	phone int);

注意:

    char 和varchar区别:

    ‘123’    ------>varchar(10)       #  3位

    '123       '  -------> char(10)    # 10位    不足10位空格补全

查看新建的Teacher表:

MariaDB [(none)]> use test;
Database changed
MariaDB [test]> show tables;
+----------------+
| Tables_in_test |
+----------------+
| Teacher        |
+----------------+
1 row in set (0.00 sec)

2.建立超级用户:

grant all privileges on *.* to 'fxq'@'%' identified by '123456' with grant option;

3.插入数据:

insert into Teacher(teaid,teaname,age) values(1,'feng',20);

插入多行数据:

insert into Teater(teaid,teaname,age) values(101,'fengxiaoqing',20),(102,'zhangsan',30),(103,'wangwu',40);

查看插入的数据:

MariaDB [test]> select * from Teacher;
+-------+--------------+------+------+------------+
| teaId | teaname      | age  | sex  | phone      |
+-------+--------------+------+------+------------+
|     1 | feng         |   20 | NULL |       NULL |
|     2 | wang         |   20 | M    | 2147483647 |
|     2 | wang         |   20 | M    | 2147483647 |
|     3 | zhang        |   30 | M    | 2147483647 |
|     4 | li           |   40 | M    | 2147483647 |
|     5 | zhao         |   50 | F    | 2147483647 |
|     5 | zhao         |   50 | F    | 1821113120 |
|   101 | fengxiaoqing |   20 | NULL |       NULL |
|   102 | zhangsan     |   30 | NULL |       NULL |
|   103 | wangwu       |   40 | NULL |       NULL |
+-------+--------------+------+------+------------+
10 rows in set (0.00 sec)

MariaDB [test]>

4.数据查询:

select *  from Teacher where teaId > 4;

select * from Teacher where teaId in(1,4,101);

select * from Teacher where teaId like ('%1%');

测试结果:

MariaDB [test]> select * from Teacher where teaId > 3;
+-------+--------------+------+------+------------+
| teaId | teaname      | age  | sex  | phone      |
+-------+--------------+------+------+------------+
|     4 | li           |   40 | M    | 2147483647 |
|     5 | zhao         |   50 | F    | 2147483647 |
|     5 | zhao         |   50 | F    | 1821113120 |
|   101 | fengxiaoqing |   20 | NULL |       NULL |
|   102 | zhangsan     |   30 | NULL |       NULL |
+-------+--------------+------+------+------------+
5 rows in set (0.00 sec)

MariaDB [test]> select * from Teacher where teaId in(1,4,101);
+-------+--------------+------+------+------------+
| teaId | teaname      | age  | sex  | phone      |
+-------+--------------+------+------+------------+
|     1 | feng         |   20 | NULL |  188188188 |
|     4 | li           |   40 | M    | 2147483647 |
|   101 | fengxiaoqing |   20 | NULL |       NULL |
+-------+--------------+------+------+------------+
3 rows in set (0.01 sec)



MariaDB [test]> select * from Teacher where teaId like ('%1%');  
+-------+--------------+------+------+-----------+
| teaId | teaname      | age  | sex  | phone     |
+-------+--------------+------+------+-----------+
|     1 | feng         |   20 | NULL | 188188188 |
|   101 | fengxiaoqing |   20 | NULL |      NULL |
|   102 | zhangsan     |   30 | NULL |      NULL |
+-------+--------------+------+------+-----------+
3 rows in set (0.00 sec)

MariaDB [test]> 

MariaDB [test]>


查询重复数据:

select *  from Teacher  group by teaname having count(*) >1;

测试结果:

MariaDB [test]> select * from Teacher;
+-------+--------------+------+------+------------+
| teaId | teaname      | age  | sex  | phone      |
+-------+--------------+------+------+------------+
|     1 | feng         |   20 | NULL |  188188188 |
|     2 | wang         |   20 | M    | 2147483647 |
|     2 | wang         |   20 | M    | 2147483647 |
|     3 | zhang        |   30 | M    | 2147483647 |
|     4 | li           |   40 | M    | 2147483647 |
|     5 | zhao         |   50 | F    | 2147483647 |
|     5 | zhao         |   50 | F    | 1821113120 |
|   101 | fengxiaoqing |   20 | NULL |       NULL |
|   102 | zhangsan     |   30 | NULL |       NULL |
+-------+--------------+------+------+------------+
9 rows in set (0.01 sec)

MariaDB [test]> select *  from Teacher  group by teaname having count(*) >1;
+-------+---------+------+------+------------+
| teaId | teaname | age  | sex  | phone      |
+-------+---------+------+------+------------+
|     2 | wang    |   20 | M    | 2147483647 |
|     5 | zhao    |   50 | F    | 2147483647 |
+-------+---------+------+------+------------+
2 rows in set (0.00 sec)

MariaDB [test]>

联合查询:

select * from a,c where a.id = c.组id

查看表结构:

show create Teacher\G;
desc Teacher;

测试结果 :

MariaDB [test]> show create table Teacher \G;
*************************** 1. row ***************************
       Table: Teacher
Create Table: CREATE TABLE `Teacher` (
  `teaId` int(11) NOT NULL,
  `teaname` varchar(100) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `sex` enum('M','F') DEFAULT NULL,
  `phone` int(11) DEFAULT NULL,
  KEY `test_Teacher_teaId_teaname` (`teaId`,`teaname`)
) ENGINE=InnoDB DEFAULT CHARSET=latin11 row in set (0.00 sec)

ERROR: No query specified

MariaDB [test]>

MariaDB [test]> desc Teacher;
+---------+---------------+------+-----+---------+-------+
| Field   | Type          | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+-------+
| teaId   | int(11)       | NO   | MUL | NULL    |       |
| teaname | varchar(100)  | YES  |     | NULL    |       |
| age     | int(11)       | YES  |     | NULL    |       |
| sex     | enum('M','F') | YES  |     | NULL    |       |
| phone   | int(11)       | YES  |     | NULL    |       |
+---------+---------------+------+-----+---------+-------+
5 rows in set (0.01 sec)

MariaDB [test]>

5.删除数据:

delete from Teacher where teaid='103'  #删除指定id数据truncate Teacher1;   #清空数据drop table Teacher1;   #删除表

测试结果:

delete:删除表中指定数据条目

MariaDB [test]> delete from Teacher where teaid='103';
Query OK, 1 row affected (0.02 sec)

MariaDB [test]> select * from Teacher;
+-------+--------------+------+------+------------+
| teaId | teaname      | age  | sex  | phone      |
+-------+--------------+------+------+------------+
|     1 | feng         |   20 | NULL |       NULL |
|     2 | wang         |   20 | M    | 2147483647 |
|     2 | wang         |   20 | M    | 2147483647 |
|     3 | zhang        |   30 | M    | 2147483647 |
|     4 | li           |   40 | M    | 2147483647 |
|     5 | zhao         |   50 | F    | 2147483647 |
|     5 | zhao         |   50 | F    | 1821113120 |
|   101 | fengxiaoqing |   20 | NULL |       NULL |
|   102 | zhangsan     |   30 | NULL |       NULL |
+-------+--------------+------+------+------------+
9 rows in set (0.00 sec)

MariaDB [test]>

truncate: 清空表数据,表结构保留

MariaDB [test]> select * from Teacher1;
+-------+---------------+------+------+-------+
| teaId | teaname       | age  | sex  | phone |
+-------+---------------+------+------+-------+
|   101 | fengxiaoqing  |   20 | NULL |  NULL |
|   102 | zhangsan      |   30 | NULL |  NULL |
|   103 | wangwu        |   40 | NULL |  NULL |
|   104 | fengxiaoqing1 |   20 | NULL |  NULL |
|   105 | zhangsan2     |   30 | NULL |  NULL |
|   106 | wangwu3       |   40 | NULL |  NULL |
|   107 | fengxiaoqing4 |   20 | NULL |  NULL |
|   108 | zhangsan5     |   30 | NULL |  NULL |
|   109 | wangwu6       |   40 | NULL |  NULL |
|   110 | fengxiaoqing7 |   20 | NULL |  NULL |
|   111 | zhangsan8     |   30 | NULL |  NULL |
|   112 | wangwu9       |   40 | NULL |  NULL |
+-------+---------------+------+------+-------+
12 rows in set (0.00 sec)

MariaDB [test]> truncate Teacher1;
Query OK, 0 rows affected (0.02 sec)

MariaDB [test]> select * from Teacher1;
Empty set (0.00 sec)

MariaDB [test]>

drop: 删除整个表

MariaDB [test]> drop table Teacher1;
Query OK, 0 rows affected (0.01 sec)

MariaDB [test]> show tables;
+----------------+
| Tables_in_test |
+----------------+
| Teacher        |
+----------------+
1 row in set (0.00 sec)

MariaDB [test]>

6.更新数据 

update Teacher set  phone=188188188  where teaId=1;

测试结果:

MariaDB [test]> select * from Teacher;
+-------+--------------+------+------+------------+
| teaId | teaname      | age  | sex  | phone      |
+-------+--------------+------+------+------------+
|     1 | feng         |   20 | NULL |       NULL |
|     2 | wang         |   20 | M    | 2147483647 |
|     2 | wang         |   20 | M    | 2147483647 |
|     3 | zhang        |   30 | M    | 2147483647 |
|     4 | li           |   40 | M    | 2147483647 |
|     5 | zhao         |   50 | F    | 2147483647 |
|     5 | zhao         |   50 | F    | 1821113120 |
|   101 | fengxiaoqing |   20 | NULL |       NULL |
|   102 | zhangsan     |   30 | NULL |       NULL |
+-------+--------------+------+------+------------+
9 rows in set (0.01 sec)


MariaDB [test]> update Teacher set  phone=188188188 where teaId=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [test]> select * from Teacher;
+-------+--------------+------+------+------------+
| teaId | teaname      | age  | sex  | phone      |
+-------+--------------+------+------+------------+
|     1 | feng         |   20 | NULL |  188188188 |
|     2 | wang         |   20 | M    | 2147483647 |
|     2 | wang         |   20 | M    | 2147483647 |
|     3 | zhang        |   30 | M    | 2147483647 |
|     4 | li           |   40 | M    | 2147483647 |
|     5 | zhao         |   50 | F    | 2147483647 |
|     5 | zhao         |   50 | F    | 1821113120 |
|   101 | fengxiaoqing |   20 | NULL |       NULL |
|   102 | zhangsan     |   30 | NULL |       NULL |
+-------+--------------+------+------+------------+
9 rows in set (0.00 sec)

MariaDB [test]>

7.创建索引:

create index 库名_表名_列名1_列名2  (列名1,列名2);
create index test_Teacher_teaId_teaname (teaId,teaname);

查看表有无索引

MariaDB [test]> show index from Teacher;
Empty set (0.01 sec)

创建索引:

MariaDB [test]> show index from Teacher;   #查看Empty set (0.01 sec)

MariaDB [test]> alter table Teacher add index test_Teacher_teaId_teaname (teaId,teaname);   #创建索引
Query OK, 0 rows affected (0.34 sec)
Records: 0  Duplicates: 0  Warnings: 
0MariaDB [test]> show index from Teacher;   #再查看,索引就会创建成功
+---------+------------+----------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table   | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+----------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Teacher |          1 | test_Teacher_teaId_teaname |        1 | teaId       | A         |           9 |  NULL | NULL   |      | BTREE      |         |               |
| Teacher |          1 | test_Teacher_teaId_teaname |        2 | teaname     | A         |           9 |  NULL | NULL   | YES  | BTREE      |         |               |
+---------+------------+----------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.00 sec)

MariaDB [test]>

查看是否走索引:

explain select * from Teacher where teaname = 'feng';

MariaDB [test]> explain select * from Teacher where teaname = 'feng';
+------+-------------+---------+------+---------------+------+---------+------+------+-------------+
| id   | select_type | table   | type | possible_keys | key  | key_len | ref  | rows | Extra       |
+------+-------------+---------+------+---------------+------+---------+------+------+-------------+
|  1   | SIMPLE      | Teacher | ALL  | NULL          | NULL | NULL    | NULL |    9 | Using where |
+------+-------------+---------+------+---------------+------+---------+------+------+-------------+
1 row in set (0.00 sec)

MariaDB [test]> explain select * from Teacher where teaname = 'feng' and teaId = 1;
+------+-------------+---------+------+----------------------------+----------------------------+---------+-------------+------+-----------------------+
| id   | select_type | table   | type | possible_keys              | key                        | key_len | ref         | rows | Extra                 |
+------+-------------+---------+------+----------------------------+----------------------------+---------+-------------+------+-----------------------+
|  1   | SIMPLE      | Teacher | ref  | test_Teacher_teaId_teaname | test_Teacher_teaId_teaname | 107     | const,const |    1 | Using index condition |
+------+-------------+---------+------+----------------------------+----------------------------+---------+-------------+------+-----------------------+
1 row in set (0.01 sec)

MariaDB [test]> 
MariaDB [test]> select * from Teacher where teaname = 'feng' and teaId = 1;
+-------+---------+------+------+-----------+
| teaId | teaname | age  | sex  | phone     |
+-------+---------+------+------+-----------+
|     1 | feng    |   20 | NULL | 188188188 |
+-------+---------+------+------+-----------+
1 row in set (0.01 sec)

MariaDB [test]>


您可能感兴趣的文档:

--结束END--

本文标题: Python中操作mysql知识(二)

本文链接: https://lsjlt.com/news/36688.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中操作mysql知识(二)
    1.创建表Teacher:create table Teacher( teaId int not null, teaname varcha&#...
    99+
    2024-04-02
  • Python中操作mysql知识(一)
    Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库:GadFlymSQLMySQLPostgre...
    99+
    2023-01-31
    操作 知识 Python
  • Python操作MySQL(二) ORM
    SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 一、安装 pip3 install ...
    99+
    2023-01-31
    操作 Python ORM
  • 【MySQL】基础知识(二)
    MySQL基础知识(二) 文章目录 MySQL基础知识(二)01 表操作1.1 创建表1.2 查看所有表1.3 查看指定表的结构1.4 删除表练习 02 CURD2.1 新增2.1.1 ...
    99+
    2023-09-06
    mysql adb android
  • Python操作MySQL(二) ORM篇
    SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 一...
    99+
    2024-04-02
  • Python对文件操作知识汇总
    打开文件 操作文件 1打开文件时,需要指定文件路径和打开方式 打开方式: r:只读 w:只写 a:追加 “+”表示可以同时读写某个文件 r+:读写 w+:写读 a+:同a U"表示在读取时,可以将 r n ...
    99+
    2022-06-04
    操作 文件 知识
  • Go语言操作MySQL的知识总结
    目录一、连接1.1 下载依赖1.2 使用mysql驱动1.3 初始化连接1.4 SetMaxOpenConns1.5 SetMaxIdleConns二、CRUD2.1 建库建表2.2 查询2.3 单行查询2.4 多行查询...
    99+
    2024-04-02
  • Elasticsearch必知必会的干货知识二:ES索引操作技巧
    该系列上一篇文章《Elasticsearch必知必会的干货知识一:ES索引文档的CRUD》 讲了如何进行index的增删改查,本篇则侧重讲解说明如何对index进行创建、更改、迁移、查询配置信息等。 仅创建索引:PUT i...
    99+
    2018-03-28
    Elasticsearch必知必会的干货知识二:ES索引操作技巧
  • Python基础知识入门(二)
    Python基础知识入门(一) Python基础知识入门(三) Python基础知识入门(四) Python基础知识入门(五) 一、数字类型        Python 数字数据类型用于存储数值。数据类型是不允许改变,如改变数字数据类型的...
    99+
    2023-09-06
    开发语言 python 基础学习
  • Python字符串切片操作知识详解
    一:取字符串中第几个字符 print "Hello"[0] 表示输出字符串中第一个字符 print "Hello"[-1] 表示输出字符串中最后一个字符 二:字符串分割 print "Hello"[1...
    99+
    2022-06-04
    切片 字符串 详解
  • Python操作JSON文件的知识点整理
    目录json 模块读取 JSON写入 JSON读取与写入基本用法如下json 模块进阶用法控制输出格式在 JSON 中存储 Python 特殊类型对数据进行验证和清洗第三方模块jso...
    99+
    2023-01-28
    Python操作JSON知识点 Python操作JSON Python JSON
  • MySQL数据库知识汇总(二)
    ...
    99+
    2024-04-02
  • python基础知识练习题(二)
    1、 有两个列表   l1 = [11, 22, 33]   l2 = [22, 33, 44]    a.获取内容相同的元素列表 li = []l1 = [11, 22, 33] l2 = [22, 33, 44] for v1 i...
    99+
    2023-01-31
    练习题 基础知识 python
  • macos 操作知识和命令行常规操作
    MAC 使用记录 在终端切换路径切到其他磁盘打开`bash_profile`使用 vi 编辑`bash_profile``nano ~/.bash_profile ` macos 架构确认显隐,隐藏文件夹右键功能扩展截屏MacO...
    99+
    2023-08-18
    macos
  • 电脑中基本操作知识是什么
    小编给大家分享一下电脑中基本操作知识是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!电脑的基本操作知识有:1、首先需要掌握电脑开、关机方法;2、手动重启电脑的...
    99+
    2023-06-20
  • MyBatis-Plus中查询操作知识点总结
    系列文章目录 Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]_心态还需努力呀的博客-CSDN博客 Mybatis-Plus+SpringBoot结合运用_心态还需努力呀的博客-CSDN博客 MyBait...
    99+
    2023-08-31
    mybatis spring boot mysql 后端 maven
  • mysql基本操作二
    ...
    99+
    2024-04-02
  • Python——Day3知识点——文件操
     一、打开文件文件句柄 = open('文件路径', '模式')打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。打开文件的模式有:r,只读模式(默认)。w,只写模式。【不可读;不...
    99+
    2023-01-31
    知识点 文件 Python
  • python文件操作相关知识点总结整理
    本文汇总了python文件操作相关知识点。分享给大家供大家参考,具体如下: 总是记不住API。昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件、文件夹(文件操作函数)的操作需...
    99+
    2022-06-04
    知识点 操作 文件
  • python必学知识之文件操作(建议收藏)
    目录一.文件基本操作1.1 文件打开和关闭1.2 读/写文件1.2.1 写文件1.2.2 读文件二. 文件备份脚本总结一.文件基本操作 1.1 文件打开和关闭 open(‘...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作