MySQL的存储引擎与表的创建,键的定义,等等

--select * from products
--select prod_name from products
/*limit 7 offset 2 */
--从第二行往下取7行数据,若不足7行,则取实际包含的行数 
--limit 2,7--等同

手抖把寨板弄翻过来了,吓得笔记本硬盘脱机,重启后只剩下上面这点练习了,下面是今天练习Mysql关于表的

select * from orders
order by 2,3
show engines
show variables like ‘%innodb%‘
show variables like ‘%storage_engine%‘ --查看mysql当前默认的存储引擎:
show table status from test where name =‘test‘--查看test库的test表的存储引擎信息
----创建表,并指定其存储引擎为Innodb
USE TEST
create table test_engine (id int not null auto_increment,
 temp varchar(10),--varchar类型需要指定长度,否则会报错无法创建表
 primary key (id)
 ) engine = innodb
--更改表的存储引擎
alter table engine= myisam--报错,不知道为何
--小练习1
create table example0(id int not null auto_increment primary key,
  name varchar(20),
  sex  boolean           --等同与tinyint(1)
  )
--小练习2--组合主键
use test
create table sc(sNo int not null,
cNo int not null,
/*突然想起了select 2 from table的问题了,试验一下
use world;
select 2 from world.city --结果为选出一列n行的2,n为city表的行数
*/
grade int default ‘0‘,--不能少逗号,即使下面没有属性声明只有主键定义。。。
primary key (sNo,cNo)
)
use test;
create table sc(sNo int ,--这里之前有not null 然后创建的时候就一直出错
cNo int ,--同上(上面一个例子是不是也是这个原因?不明白为啥,实验一下)
grade int default ‘0‘,
primary key (sNo,cNo)
)
create table example1(id int not null auto_increment primary key,
  name varchar(20),--果然不加(20)就会报错,为什么?
  sex  boolean
  )
/*子表的外键必须是父表的主键,且数据类型需一致*/
create table example3(id int primary key,
 stu_id int,
 course_id int,
 constraint c_fk foreign key(stu_id,course_id) references example2(stu_id,course_id) --报错,无法创建example3表。查询书籍,可能是被依赖的example2表及其属性不存在
 --先回来创建表example2
 )
create table example2(stu_id int,
  course_id int,
  grade float,
  primary key(stu_id,course_id)
 )
create table example3(id int primary key,
 stu_id int,
 course_id int,
 constraint c_fk foreign key(stu_id,course_id) references example2(stu_id,course_id) 
 ) --Command(s) completed successfully.
/*字段唯一性约束,字段自增属性,字段默认值(之前的例子中,int默认值0不加‘’报错,再预先实验一下)*/
 --把小练习2复制过来,以后的例子都要编号,方便调用。。。
  create table sc1(sNo int not null,
cNo int not null,
grade int default 0,
primary key (sNo,cNo))--Command(s) completed successfully.看来是我自己弄错了
  --小练习3
 create table example7(id int primary key auto_increment,
   stu_id int unique,
   name varchar(20) not null,
   English varchar(20) default ‘zero‘,
   Math float default 0,
   Computer Float default 0
   ) --Command(s) completed successfully.关于表的练习结束
时间: 2024-12-06 00:02:44

MySQL的存储引擎与表的创建,键的定义,等等的相关文章

浅谈MySql的存储引擎(表类型) (转)

什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库,sql server数据库等等其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等等.根据数据库如何存储数据和如何操作数据的实现机制不同,这些数据库之间即有区别又有共同点. MySql数据库是开放源代码的关系型数据库.目前,它可以提供的功能有:支持sql语言.子查询.存储过程.触发器.视图.索引.事务.锁.外

浅谈MySql的存储引擎(表类型)

来源:http://www.cnblogs.com/lina1006/archive/2011/04/29/2032894.html 什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合.    我们通常说的MySql数据库,sql server数据库等等其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等等.根据数据库如何存储数据和如何操作数据的实现机制不同,这些数据库之间即有区别又有共同点

MySQL InnoDB存储引擎之表(二)

本篇是继续上一篇未完的部分继续说的. 4.InnoDB数据页结构 页是InnoDB存储引擎管理数据库的最小磁盘单位.页类型为B-tree Node的页存放的就是表中行的实际数据.页由以下七个部分组成:File Header(文件头).Page Header(页头).Infimun和Supremum Records.User Records(行记录).Free Space(空闲空间).Page Directory(页目录)和File Trailer(文件尾).  如下图: 其中File Heade

MySQL InnoDB存储引擎之表(一)

主要介绍InnoDB存储引擎表的逻辑存储以及实现.重点介绍数据在表中是如何组织和存放的. 1.索引组织表(index organized table) 在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表叫索引组织表.在InnoDB存在引擎表中,每张表都有个主键(Primary key),如果在创建表时没有显示定义主键,则会按照如下方式选择或者创建主键:a.判定是否有非空的唯一索引(unique not null),如果有则该列即为主键.若果有多个,则选择建表是第一个定义的非

存储引擎、表的创建、字段的各种数据类型、模糊匹配、严格模式、约束条件等

存储引擎: 不同类型的数据拥有不同的处理机制. mysql存储引擎 Innodb:默认的存储引擎 查询速度较myisam慢 但是更安全 myisam:mysql老版本用的存储引擎,比较innodb memory:内存引擎(数据全部存在内存中) blackhole:无论存什么 都立马消失(黑洞) 研究一下每个存储引擎存取数据的特点 show engines; 数据类型 整型 浮点型 字符类型 日期类型 枚举与集合类型 约束 not null unique default primary key t

MySQL存储引擎 -- MyISAM(表锁定) 与 InnoDB(行锁定) 锁定机制

前言 为了保证数据的一致完整性,任何一个数据库都存在锁定机制.锁定机制的优劣直接应想到一个数据库系统的并发处理能力和性能,所以锁定机制的实现也就成为了各种数据库的核心技术之一.本章将对MySQL中两种使用最为频繁的存储引擎MyISAM(表锁定)和Innodb(行锁定)各自的锁定机制进行较为详细的分析. MySQL锁定机制简介 数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问访问变得有序所设计的一种规则.对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自

Mysql各种存储引擎的特性以及如何选择存储引擎

几个常用存储引擎的特点 下面我们重点介绍几种常用的存储引擎并对比各个存储引擎之间的区别和推荐使用方式. 特点 Myisam BDB Memory InnoDB Archive 存储限制 没有 没有 有 64TB 没有 事务安全 支持 支持 锁机制 表锁 页锁 表锁 行锁 行锁 B树索引 支持 支持 支持 支持 哈希索引 支持 支持 全文索引 支持 集群索引 支持 数据缓存 支持 支持 索引缓存 支持 支持 支持 数据可压缩 支持 支持 空间使用 低 低 N/A 高 非常低 内存使用 低 低 中等

mysql 的存储引擎介绍

在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库.而在设计表的时候,我们都会关注一个问题,使用什么存储引擎.等一下,存储引擎?什么是存储引擎? 什么是存储引擎? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能. 例如,如果你在研究大量的临时数据,你也许需要使用内存MySQL

Mysql ==》 存储引擎

一.什么是存储引擎? mysql中建立的表==>文件夹 库中建立的表==>文件 现实生活中我们用来存储数据的文件应该有不同的类型: 比如: 存文本用的txt类型,存表格用的excel,存图片png等. 数据库中的表也应该有不同的类型,表的类型不用,回对应mysql不同的存取机制,表类型又称为存储引擎. 存储引擎说白了就是如何存储数据?如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法,因为关系数据库中 数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型