mysql_建表

Posted 芒果不盲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql_建表相关的知识,希望对你有一定的参考价值。

 

 

 

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

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_建表的主要内容,如果未能解决你的问题,请参考以下文章

数据库系统概论(第5版)萨师煊.王珊代码mysql版本(建库建表查询语句)

3.1.3MySQL__数据库基本建表查询,登录,sql语句,建表语句,修改表结构,增删改查,as别名,limit分页,distinct去重,聚合函数,

5.1 MySql数据库_建表规约

mysql建表时出现错误,代码是1064

MySQL错误代码:在MySQL Workbench中创建表期间出现1064 [关闭]

mysql建表语句报错,不知道怎么修改,求大佬给看看