MySQL问题总结(持续更新)
2017-08-24 14:58
295 查看
CHAR和VARCHAR的区别
存储方式和检索方式不同:
1、CHAR固定长度字符类型。CHAR存储定长数据,CHAR字段上的索引效率高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。 缺点是浪费空间,检索时CHAR列删除尾部空格,若果要保留程序需要对行尾空格进行处理,对于那些长度变化不大并且对查询速度有较高要求的数据可以使用CHAR类型;
2、VARCHAR可变长度字符类型。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
从空间上考虑,用varchar合适;从效率上考虑,用char合适。
Python连接数据库
https://www.runoob.com/python/python-mysql.html
import MySQLdb as mdb db_host = 'localhost' db_user = 'root' db_pass = 'zjh' db_name = 'databasename' con = mdb.connect(db_host, db_user, db_pass, db_name) 从数据库中读取数据: with con: cur = con.cursor() cur.execute("SELECT id, ticker FROM symbol") data = cur.fetchall() #返回一个元组组成的列表, 每个元组对应数据库表中的一行 con.close()mysql中从一个表复制到另一个表: 1. 复制数据到一个已经存在的表:
INSERT INTO table1 (***) SELECT *** FROM table2;2. 复制旧表数据到另一张新表(未创建)可以用于实现表数据的备份:
CREATE TABLE newtable AS SELECT * FROM oldtable;复杂表结构的更改一般需要手动删除过程: 1.用新的列布局创建一个新表; 2.使用INSERT INTO SELECT 语句从旧表复制数据到新表 3.检验包含所需数据的新表 4.重命名旧表(如果确定,可以删除它) 5.用旧表原来的名字命名新表 6.根据需要,重新创建触发器,存储过程,外键和 索引 InnoDB的提供怎样的事务安全(数据库事务四个特性),为什么事务能保证失败回滚, 事务机制可以确保数据一致性。 事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
- 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
- 一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
- 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
- 持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
相关文章推荐
- Mysql 知识点总结(持续更新)
- 游戏开发中的原则性问题总结(持续更新)
- mysql5.7安装遇到的问题总结,持续更新
- 关于Mysql SQL优化的总结,持续更新中
- FreeCMS开发过程问题总结(持续更新中)
- 总结面试中遇到的问题(持续更新)
- 本文主要总结在微博关于mysql的优化(将会持续更新)
- MySQL问题汇总(持续更新)
- linux平台开发问题个人总结. 持续更新帖~
- Mysql使用相关问题(持续更新)
- iOS开发问题总结(持续更新...)
- IAR问题总结(持续更新)
- [总结]vue开发常见知识点及问题资料整理(持续更新)
- SQL语句常见问题的总结(持续更新)
- volley开源库乱码问题总结(持续更新)
- 安装和使用vsphere问题总结+可能会持续更新
- Ubuntu14.04配置OpenCL版本caffe (AMD显卡)---- 问题总结(持续更新)
- Git使用总结(遇到问题,持续更新)
- c++(c语言)编程过程中遇到的细微问题总结(持续更新)
- SQL语句常见问题的总结(持续更新)