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去重,聚合函数,