- 删除数据
表结构: [root@localhost ~]# mysql -uroot -ppzk123 -e "use test; desc t1;" +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(10) | NO | | NULL | | | age | int(11) | NO | | NULL | | +-------+-------------+------+-----+---------+-------+
增加数据 #!/usr/bin/env python import MySQLdb def connect_mysql(): db_config = { 'host': '127.0.0.1', 'port': 3306, 'user': 'root', 'passwd': 'pzk123', 'db': 'test' } c = MySQLdb.connect(**db_config) return c if __name__ == '__main__': c = connect_mysql() cus = c.cursor() sql = '''insert into t1 values (1, 'Tom', 17), (2, 'John', 25), (3, 'Jeny', 25); ''' try: cus.execute(sql) c.commit() except Exception as e: c.rollback() raise e finally: c.close()
删除数据 #!/usr/bin/env python import MySQLdb def connect_mysql(): db_config = { 'host': '127.0.0.1', 'port': 3306, 'user': 'root', 'passwd': 'pzk123', 'db': 'test' } c = MySQLdb.connect(**db_config) return c if __name__ == '__main__': c = connect_mysql() cus = c.cursor() sql = 'delete from t1 where id=2;' try: cus.execute(sql) c.commit() except Exception as e: c.rollback() raise e finally: c.close()
- 更改数据
把 John 的年龄修改为20 #!/usr/bin/env python import MySQLdb def connect_mysql(): db_config = { 'host': '127.0.0.1', 'port': 3306, 'user': 'root', 'passwd': 'pzk123', 'db': 'test' } c = MySQLdb.connect(**db_config) return c if __name__ == '__main__': c = connect_mysql() cus = c.cursor() sql = 'update t1 set age=20 where id=2;' try: cus.execute(sql) c.commit() except Exception as e: c.rollback() raise e finally: c.close()
- 索引
索引就像书的目录一样,也可以理解是一个标签,创建索引的目录是为了加快我们对数据的查询,举个例子,数据库中有两万条记录,现在要查询 id 为 10086 的记录,如果没有索引,必须遍历整个表,直到 id 等于 10086 这一行被找到为止,如果在 id 字段上创建索引,MySQL 不需要任何扫描,直接在索引里面找 10086 就可以得知这一行的位置,可见,创建索引可以提高数据库的查询速度。
索引分类:
普通索引:允许在定义索引的列中插入重复值和空值
唯一索引:索引列的值必须唯一,但允许有空值
单列索引:即一个索引只包含单个列,一个表可以有多个单列索引
组合索引:即在表的多个字段组合上创建的索引,只有在查询条件中使用了这些字段的左边字段时,索引才会被使用
全文索引:在定义索引的列上支持值的全文查找,允许在这些索引列中插入重复值和空值
空间索引:是对空间数据类型的字段建立的索引,MySQL 有四中空间数据类型,分别是 GEOMETRY 、POINT 、LINESTRING 、POLYGON
索引设计原则
索引不宜过多,否则不仅占用磁盘空间,而且会影响插入、删除、更新语句的性能
避免对经常更新的表进行过多的索引,并且索引中的列尽可能少
数据量小的表最好不要使用索引,因为查询花费的时间可能比遍历索引的时间还要短,索引不会产生太大效果
在条件表达式中经常用到的不同值较多的列上建立索引,在不同值很少的列上不要建立索引
当唯一性是某种数据本身的特征时,指定唯一索引以确保数据完整性,提高查询速度
在频繁进行排序或分组的列上建立索引,如果待排序的列有多个,可以在这些列上建立组合索引
python中MySQL数据的增删改查操作
最新推荐文章于 2024-05-30 10:26:22 发布