关于MySQL中自增的理解和设置
show create table t10;--查看表的创建结果
show create table t10\G;--竖列查看
alter table t10 AUTO_INCREMENT =20 --设置自增为20
alter table t2.name char(30);
insert into t2(name) values ('yaoming');
ALTER TABLE t2 ALTER Column Name varchar(100) not null;
主键:
1.一个表只能有一个主键,主键可以由多列组成,主键不能为空.
CREATE TABLE t5 (
nid int(11) NOT NULL AUTO_INCREMENT,
pid int(11) not NULL,
num int(11),
primary key(nid,pid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
外键:
1.创建外键时可以在一个表达式中创建多个外键
create table t5(
id int auto_increment primary key,
name char(10),
nid int,
pid int,
)engine = innodb default charset=utf8; create table t6(
id int auto_increment primary key,
name char(10),
id1 int,
id2 int,
constraint fk_t5_t6 foreign key (id1,id2)
references t1(nid,pid)
)engine = innodb default charset=utf8;
数据行:
插入多个数据是可以在values后面使用,分割写
insert into tb1(name,age) values ('xiaoli',18),('xiaoming',12)
自增:
show create table t2\G 可以查看创建表时的结构
alter create table t2 auto_increment = 20; --可以改变自增的起始数字
MySQL:自增步长:
--基于会话级别的:
show session variables like 'auto_inc%';--查看全局变量的步长和起始值
set session auto_increment_increment=2;
--设置步长
set session auto_increment_offset=10;
--设置起始数字
--基于全局级别的:
show global variables like 'auto_inc%';
--查看全局变量
set global auto_increment_increment=2;
--设置全局步长
set global auto_increment_offset=10;
--设置全局起始数字
SqlServer: 自增步长基于表可以实现
create table t2(
sid int primary key identity(3,5),--从3开始 ,步长为5
sname nchar(8) not null,
ssex nchar(1)
)
关于MySQL中自增的理解和设置的更多相关文章
- Mysql中自增字段(AUTO_INCREMENT)的一些常识
Mysql中自增字段(AUTO_INCREMENT)的一些常识: http://chengxuyuan.naxieshir.com/fenlei/2/p/151.html
- MySQL中自增ID起始值修改方法
在实际测试工作过程中,有时因为生产环境已有历史数据原因,需要测试环境数据id从某个值开始递增,此时,我们需要修改数据库中自增ID起始值,下面以MySQL为例: 表名:users; 建表时添加: ); ...
- MySQL中group_concat函数深入理解
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . 一.MySQL中group_concat函数 完整的语法如下: gr ...
- MySQL中的sort_buffer_size参数大小的设置问题
看到sort_buffer_size这个参数(connect级别的参数,MySQL5.7,默认值是1048576字节,也就是1MB)的默认值这么小,想着是不是可以调大一点,反正内存动不动几十个GB的, ...
- (转)MySql中监视增删改查和查看日志记录
转载地址为:http://blog.51cto.com/hades02/1641652 首先在命令行输入 show global variables like '%general%' ,然后出现下面的 ...
- mysql 中的增改查删(CRUD)
增改查删可以用CURD来表示 增加:create 修改:update 查找:read 删除:delete 增加create : insert +表名+values+(信息): in ...
- MySQL中的seconds_behind_master的理解
通过show slave status查看到的Seconds_Behind_Master,从字面上来看,他是slave落后master的秒数,一般情况下,也确实这样,我们可以通过Seconds_Beh ...
- MySQL中的增删改查
将表cm_application中的state字段类型改为字符串型 alter table cm_application modify STATE varchar(50); 将表cm_applic ...
- MySQL中SQL Mode的查看与设置
MySQL可以运行在不同的模式下,而且可以在不同的场景下运行不同的模式,这主要取决于系统变量 sql_mode 的值.本文主要介绍一下这个值的查看与设置,主要在Mac系统下. 对于每个模式的意义和作用 ...
随机推荐
- javascript的call和apply
coffeescript里,每个文件编译成JS后,都是(function(){...}).call(this);的架势 这个call,该怎么理解呢? 在javascript里面,call 或者 app ...
- Android 自带Base64加密解密
Android项目引用不到以下两个java类 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; Android有自己的base ...
- linux用户态和内核态通信之netlink机制【转】
本文转载自:http://blog.csdn.net/zcabcd123/article/details/8272360 这是一篇学习笔记,主要是对<Linux 系统内核空间与用户空间通信的实现 ...
- java线程异常处理方法
工作中常发现有些程序发生异常但却没有错误日志,原因就是一些开发线程异常处理错误,导致程序报错但异常信息打印到堆栈上,不好在生产环境中定位问题. 在java多线程程序中,所有线程都不允许抛出未捕获的ch ...
- java enum int String 相互转换
1. enum<->int enum -> int: int i = enumType.value.ordinal(); int -> enum: enumType b= e ...
- Android之NDK开发(转载)
http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C+ ...
- vs打开wixproj后缀文件
1.在正常情况下vs是无法打开wixproj工程的,能打开也只能是以记事本方式打开该文件本身 2.所以此时需要下载wixtool,安装后即可打开上述类型文件 3.最好也安装好vs对应版本的扩展包 4. ...
- 34、JavaScript面向对象(内置构造函数&相关方法|属性|运算符&继承&面向对象)
一.面向对象 1.1 this的指向问题 要看清楚最终的函数调用者是谁. IIFE也被当做函数直接运行,IIFE的this都是window对象 函数的arguments是类数组对象,比如传入的第0项参 ...
- ZOJ1969-Hard to Believe, but True!
import re while True: x = raw_input() if(x == '0+0=0'): print 'True' break a,b,c = re.split('[+=]', ...
- Hadoop Hive概念学习系列之hive与依赖环境的交互(二十一)
hive与环境的交互,算是一个小知识点,但掌握不菲! 如何在hive里,也达到这样呢? 不需要这样啦,因为,hive是建立在hadoop之上,启动hive,相当于,就是,hadoop jar ** h ...