innoDB和myisam的区别

InnoDB支持事物,而MyISAM不支持事物

InnoDB支持行级锁,而MyISAM支持表级锁

InnoDB支持MVCC, 而MyISAM不支持

InnoDB支持外键,而MyISAM不支持

InnoDB支持聚集索引,而MyISAM不支持

InnoDB不支持全文索引,而MyISAM支持。

MyISAM存储表的行数

innoDB: 支持自动崩溃恢复、高并发

InnoDB引擎的4大特性

插入缓冲(insert buffer)

二次写(double write)

自适应哈希索引(ahi)

预读(read ahead)

memory 功能上等同于MyISAM,存储在内存,速度快,适合临时表

Archive 只支持insert和select,压缩比高,适合存日志

一张表可有多个唯一约束,唯一约束可以为null,但只能有一个null

主键互不相同,自动为not null,尽量不要修改

多列作为主键,组合唯一,单列可以重复

只有主键能自增,主键也可以不自增,

自增默认从1开始,每个表最多只允许一列自增,且必须被索引

last_insert_id()获取最后一个自增的值

有外键的表称为子表,参照的表称为父表,不能使用临时表

父表和子表必须使用相同的存储引擎innoDB

外键列和参照列必须创建索引,

数据类型可以隐式转换,数字长度和符号必须相同,字符串长度可不同

pid smallint unsigned,

foreign key (pid) references db2 (id)

foreign key (pid) references db2 (id) cascade

cascade 表示父表记录被删除或修改,子表记录也自动删除或修改

set null表示父表删除或更新,子表外键列设为null,子表的外键列不能是not null的

restrict表示父表不能删除或更新

no action与restrict相同

show create database 创建数据库的sql语句

show create table 创建表的sql语句

show errors/warnings 显示错误/警告

use db_name 使用数据库

show databases 查看数据库

select database() 查看当前数据库 user() version()

show tables [from db] 查看表

show columns from t 查看列

describe t 查看列

创建表

create table [if not exists] t

(

id int not null auto_increment,

name char(50) not null, 非空约束

age tinyint unsigned null, null允许为空,可以不写null

type int not null default 1 默认约束

phone int not null unique key 唯一约束

primary key (id, name) 主键约束

)engine=InnoDB; 省略则使用默认引擎

更新表

alter table t add email char(50);

alter table t drop column email;

alter table t 外键约束

add constraint uid foreign key (id)

references user (id)

删除表

drop table t;

重命名

rename table a to aa, b to bb;

Mysql 引擎 表还是库_mysql 库、表、引擎相关推荐

  1. MYSQL二级表的管理_MySQL库和表的管理

    MySQL数据库服务配置好后,系统会有4个默认的数据库. information_schema:虚拟对象,其对象都保存在内存中 performance_schema:服务器性能指标库 mysql:记录 ...

  2. mysql 吧库下的表名都加_mysql数据库表名大小写问题

    mysql数据库表名大小写问题 mysql数据库linux版本表名.字段名默认大小写敏感,即区分大小写. 查看mysql有关大小写参数: lower_case_file_system是一个只读参数,无 ...

  3. mysql取出数据外键_mysql数据表有外键,应注意的几点(目前学习所获得的经验)...

    mysql : 1.有做外键的表子表和父表的引擎要一致才能添加数据:否则报外键约束错误 2.数据 类型要一致,不然添加补了 外键: 3.InnoDB和 myisam的区别(来源:PHP100中文网) ...

  4. mysql 重命名库_MySQL 库名重命名

    MySQL ( RENAME database olddbname TO newdbname )  对库名的重命名上会出现一些奇怪的错误.有丢失数据的风险. 所以如何去重命名呢: 1 用mysqldu ...

  5. mysql连接查询作业答案_MySQL连表查询练习题

    1.建库 库名:linux50 字符集:utf8 校验规则:utf8_general_ci  create database linux4 charset utf8 default collate ...

  6. 用mysql建销售订单主表_mysql订单表如何设计?

    mysql订单表如何设计? 商品表和订单表 . 通过一个表来关联. 那删除了商品,相关联的订单表如何显示出这个已经删除的商品? 订单表需要冗余商品名.商品编号.价格等基本信息. 不能只保存一个商品主键 ...

  7. mysql怎么看表的结构_mysql查看表的结构

    MySQL 查看表结构 mysql查看表结构命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名; use i ...

  8. mysql 查询导入的数据_MySql多表查询及数据导入

    MySQL高级 外键(foreign key) 定义 让当前表字段的值在另一个表的范围内选择 语法 foreign key(参考字段名) references 主表(被参考字段名) on delete ...

  9. mysql建表 外键_mysql建表外键怎么设

    mysql建表外键怎么设 mysql建表时设置外键的方法:在"CREATE TABLE"语句中,通过"[CONSTRAINT ] FOREIGN KEY 字段名 [,字段 ...

最新文章

  1. python vs javascript_Python“是”vs JavaScript===
  2. 8 分钟了解 Kubernetes
  3. DCMTK:定义信号灯,互斥锁和读/写锁的类
  4. Redhat和ubuntu的区别
  5. Java压缩技术(五) GZIP相关——浏览器解析
  6. jumpserver 使用教程_Jumpserver之快速入门
  7. 今天你多态了吗? 【转】
  8. 跟着内核学框架-从misc子系统到3+2+1设备识别驱动框架
  9. visual stdio 工程 宏
  10. c++ opencv 通过网络连接工业相机_使用OpenCV进行手势控制游戏+源码分享
  11. oracle数据库编码
  12. matlab drtoolbox 使用,MATLAB数据降维工具箱drtoolbox介绍
  13. Nonebot QQ机器人插件七:智能聊天机器人
  14. st7789 旋转_ESP32驱动ST7789液晶屏
  15. 严重的PHP缺陷可导致QNAP NAS 设备遭RCE攻击
  16. react 移动端 实现video的自动播放
  17. 银联电子签名jbig
  18. win10系统关闭哪些服务器,win10.1系统哪些服务可以关闭掉?
  19. android 白色圆点,Android通知图标是一个白色圆圈
  20. 【云周刊】第209期:Perseus(擎天):统一深度学习分布式通信框架 [弹性人工智能]... 1

热门文章

  1. Python快速安装库的靠谱办法
  2. django项目的邮件发送及redis数据库应用
  3. C#GridViewExport帮助类,美化导出
  4. Asp.net Ajax,Jquery,ExtJs 三种Ajax技术框架比较
  5. VS 2008中的jQuery Intellisense
  6. ReportViewer教程(14)-钻取报表和传入参数
  7. Winform窗体中发送HTTP请求 手工发送HTTP请求主要是调用 System.Net的HttpWebResponse方法
  8. Python《wallpaper abyss壁纸》
  9. 【算法】回溯法——0-1背包问题
  10. Pyotrch —— 优化器Optimizer(一)