Python进阶----数据库引擎(InnoDB),表的创建,mysql的数据类型,mysql表的约束 一丶MySQL的存储引擎 什么是存储引擎:    MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能. 例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎.内存存储引擎能够在内存中存储所有的表格数据.又…
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而数据是按照一定的格式存放    数据库中的数据按照一定的数据模型组织,描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享 数据库管理系统:    简称:DataBases Management System ----> DBMS    数据…
需求描述: 在mysql数据库中,创建包含json数据类型的表.记录下,在创建的过程中,需要注意的问题. 操作过程: 1.通过以下的语句,创建包含json数据类型的表 mysql> create table tab_json(id bigint not null auto_increment,data json,primary key(id)); Query OK, 0 rows affected (0.09 sec) mysql> desc tab_json -> ; +-------…
MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良.虽然性能极佳,但却有一个缺点:不支持事务处理(transaction).不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM. InnoDB是MySQL的数据库引擎之一(最新版本5.7已经设置为默认数据库引擎),为MySQL AB发布bina…
InnoDB支持行级锁和表级锁(默认行级锁),支持事务,外部键等:大量的insert和update更快等.只有通过索引条件检索数据,InnoDB 才使用行级锁,否则,InnoDB 将使用表锁. MyISAM是表级锁,不支持事务,大量的SELECT查询更快等 BDB引擎支持页级锁和表级锁(默认页级锁) 行级锁 行级锁是 MySQL 中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁.行级锁能大大减少数据库操作的冲突,其加锁粒度最小,但加锁的开销也最大.行级锁分为共享锁和排他锁. 特点 开销大,…
一.Mysql锁分类 表级锁:开销小,加锁块:不会出现死锁,锁定粒度大,发生锁冲突的概率最高,并发度最低. 行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最低,并发性也最高. 页面锁:开销和加锁界于表锁和行锁之间,会出现死锁:锁定粒度界与表锁和行锁之间,并发一般. 二.MyISAM 1.开门见山 1.MyISAM不支持事物: 2.MyISAM只支持表锁: 不能在表损坏后恢复数据; MyISAM表锁有两种模式:表共享读锁(table read lock)和表独占写锁(table…
一.mysql基本认知 创建用户 create host aa identified with mysql_native_password by ''; 修改用户权限 alter user root@'localhost' identfied  with mysql_native_password by ''; /*查看数据库*//* 1. 注释 - 为单行注释 多行注释 2. 不区分大小写,但有习惯性将默认的关键字为大写3. 每个语句结尾建议有分号4. mysql中使用 反引号为兼容性操作*/…
1.ENGINE=InnoDB 数据库存储引擎,DEFAULT 默认,CHARSET=utf8 数据库字符编码 2.数据库的存储引擎, mysql中engine=innodb和engine=myisam的区别 myisam:读取速度比较快,不占用大批量资源,但是又两个缺点,1.不支持事物,2.容错不好.硬盘崩溃了,数据就没了,如果说坚持要用在那个关键程序,要通过其复制特性实时的去备份数据,,MySQL能够支持这样的备份应用程序.MyISAM类型的二进制数据文件可以在不同操作系统中迁移.也就是可以…
---删除原有的员工表drop TABLE employee;---创建员工表CREATE TABLE employee       (       empno NUMBER(4) NOT NULL,  --编号       ename VARCHAR2(10), --姓名       job VARCHAR2(9) NOT NULL,   --工种       mgr NUMBER(4),     --上级经理编号       hiredate DATE,   --日期       sal N…
建立声明层表对象的两种方式 在对表对象进行建立的时候,通常有两种方式可以完成,以下是两种方式的建立过程对比 首先导入需要的模块,获取一个声明层 from sqlalchemy.sql.schema import Table, Column from sqlalchemy.sql.sqltypes import Integer from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() 两种方法…