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

mysql_建表

时间:2018-09-20 11:25:55      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:truncate   不同   fse   run   student   ror   删除速度   pre   not   

 

 

 

创建表时,对多选多的字段设置两个以上的默认值时,两个默认值之间用逗号‘,‘隔开,不能加空格.

create table student2(
    id int not null,
    name varchar(50) not null,
    age int(3) unsigned not null default 8,
    sex enum(male, female) default male,
    fav set(smoke, drink, tangtou) default drink,tangtou
);

 

当添加空格时就会报错,报错信息如下:

ERROR 1067 (42000): Invalid default value for fav

 

在创建表的过程中,第一个字段(也就是原来的id字段,这里说in是因为手滑打错了)不能够使用in,否则会报错.

create table department0(
    in int,
    name char(10),
    unique(id),
    unique(name)
);

 

报错信息如下:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near in int,
name char(10),
unique(id),
unique(name)
) at line 2

 

创建表时,设置联合唯一,意思就是表中的一条记录不能相同,其中的一个数据单元可以相同,但是数据单元组合的记录不能相同.

 

复合主键,将其中昂的两列组合作为主键,组成复合主键的两个单元完全相同时,报错.

 

使用delete from 表名; 删除一个表时,删除的只是表中的数据,表的结构依然存在,当再次网表中添加数据时,这条数据的ID会接着删除之前的数据最后一条数据的ID往后增加.并且delete是一条一条的删除记录,删除速度较慢;

使用truncate 表名;  删除表时,同样也是删除表中的数据,但是与delete不同的是,truncate删除过的表再次插入数据时,记录的ID会从1开始增加,truncate删除表是一下子清空表中的数据,删除速度快,删除数据是使用truncate的比较多.

 

show variables like ‘auto_inc%‘;  查看可用的开头可自增步长;

+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 1     |  # 步长
| auto_increment_offset    | 1     |  # 开头
+--------------------------+-------+

 

mysql_建表

标签:truncate   不同   fse   run   student   ror   删除速度   pre   not   

原文地址:https://www.cnblogs.com/ZN-225/p/9678801.html

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