码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2016-05-07 16:45:52      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:主键   默认值   存储引擎   外键   唯一性约束   自增属性   

--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.关于表的练习结束

   

 

   

 


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

标签:主键   默认值   存储引擎   外键   唯一性约束   自增属性   

原文地址:http://l0vesql.blog.51cto.com/4159433/1771020

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!