MySQL在线运行

版本:
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
数据库和表的创建及管理 发布于:2023-12-04 15:06 计算机涂磊 发布于:2023-11-30 15:33 人工三王青锐 发布于:2023-11-30 11:44 人工智能三班啊坤 发布于:2023-11-30 11:42 MySQL Select查询 发布于:2023-11-28 15:31 mysql database 发布于:2023-11-27 23:54 创建 学生表 发布于:2023-11-27 14:43 不考虑不不 发布于:2023-11-25 10:26 为了谁,你到底为了谁! 发布于:2023-11-24 14:23 my sql jiankojjieshieao 发布于:2023-11-24 13:54 数据库期中 发布于:2023-11-24 16:56 为了谁,为了谁! 发布于:2023-11-24 12:56 为什么不支持 发布于:2023-11-23 13:47 徐国峰的第一次代码作业 发布于:2023-11-22 11:57 西瓜创客笔试 发布于:2023-11-21 17:38 PetStore数据库 发布于:2023-11-14 16:43 课程实验代码 发布于:2023-11-13 21:31 mysql编程,数据库编程 发布于:2023-11-13 16:03 测试下jsrun.net上能否在线保存mysql文件 发布于:2023-11-13 15:53 创建数据库 创建表student,分数表score 显示 发布于:2023-11-12 18:01 mysql经典试题 发布于:2023-11-12 09:49 学习中使用 发布于:2023-11-10 17:30 MySQL学习用数据库 发布于:2023-11-10 17:24 create table goods ( 商品编号 varchar(20), 商品名称 varchar(20), 生产日期 date, 生产厂家 varchar(10) ); insert into goods values ('201601','酸奶','2016-05-26','蒙牛'), ('201602','薯片','2016-07-29','乐事'); select * from goods; alter table goods add 价格 decimal(9,2); alter table goods add 产品数量 int; alter table goods add 产品简介 text; 发布于:2023-11-10 15:57 SQL正则表达式测试 发布于:2023-11-08 23:47 银行sql 发布于:2023-11-11 22:54 用户信息表 发布于:2023-11-07 14:21 mysql代码敲打 发布于:2023-11-03 19:12 学习Mysql基本操作 发布于:2023-11-03 15:39 wode yidige 发布于:2023-11-01 20:23 一个测试程序 发布于:2023-11-02 10:31 Create database course and student 发布于:2023-11-01 09:21 mysql备份 发布于:2023-10-31 17:41 代码运行器 发布于:2023-10-31 17:04 行转列测试 发布于:2023-10-31 11:02 创建两个表 发布于:2023-10-30 11:39 根据报表公式(公式含有行间四则运算,存在行间嵌套运算),循环计算各行结果值。 发布于:2023-10-28 00:07 #表t_view是用户每日访问记录表,表ord是用户订单表 ##问题一:请分别计算“每日访问用户数”;“每日支付完成用户数”,最后结果输出到一张表 ##问题二:计算访问用户下单转化,即每天访问的用户中有多少下单的用户,输出:日期、当天访问用户、当天访问下单用户数 ##问题三:计算2023-01-01的的下单新用户中有多少复购的用户,复购的定义为有支付完成第二单 发布于:2023-10-27 17:32 哈啰笔试题目 发布于:2023-10-27 11:31 USE db_DATABASE; CREATE TABLE tb_student( id mediumint not null auto_increment, name varchar(20), sex enum('男','女'), age tinyint, address varchar(255), primary key(id) )engine=innodb default charset=utf8; INSERT INTO tb_student VALUES (null,'张三','男',18,'广东省广州市'); INSERT INTO tb_student VALUES (null,'李四','男',19,'北京市朝阳区'); INSERT INTO tb_student VALUES (null,'张琳','女',20,'福建省厦门市'); INSERT INTO tb_student VALUES (null,'张晓露','女',22,'湖北省武汉市'); 发布于:2023-10-27 11:20 用户数据笔试数据答案测试 发布于:2023-10-27 11:15 un db pour TD3 发布于:2023-10-26 18:47 数据库Employees 发布于:2023-10-26 14:47 用户数据笔试数据 发布于:2023-10-26 11:21 笔试内容一 发布于:2023-10-26 10:59 创建教务管理系统表,课本P67至P71 发布于:2023-10-31 20:13 MySQL用户管理 发布于:2023-10-24 17:20 web代码 发布于:2023-10-23 16:29 MySQL代码 发布于:2023-10-23 16:26 Mysql经典50题 发布于:2023-10-24 16:15 [更多]
显示目录

序列使用



序列使用

MySQL序列是一组整数:1, 2, 3, ...,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现。

本章我们将介绍如何使用MySQL的序列。

使用AUTO_INCREMENT

MySQL中最简单使用序列的方法就是使用 MySQL AUTO_INCREMENT 来定义列。

实例

以下实例中创建了数据表insect, insect中id无需指定值可实现自动增长。

mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO insect (id,name,date,origin) VALUES
    -> (NULL,'housefly','2001-09-10','kitchen'),
    -> (NULL,'millipede','2001-09-10','driveway'),
    -> (NULL,'grasshopper','2001-09-10','front yard');
Query OK, 3 rows affected (0.02 sec)
Records: 3  Duplicates: 0  Warnings: 0
mysql> SELECT * FROM insect ORDER BY id;
+----+-------------+------------+------------+
| id | name        | date       | origin     |
+----+-------------+------------+------------+
|  1 | housefly    | 2001-09-10 | kitchen    |
|  2 | millipede   | 2001-09-10 | driveway   |
|  3 | grasshopper | 2001-09-10 | front yard |
+----+-------------+------------+------------+
3 rows in set (0.00 sec)

获取AUTO_INCREMENT值

在MySQL的客户端中你可以使用 SQL中的LAST_INSERT_ID( ) 函数来获取最后的插入表中的自增列的值。

在PHP或PERL脚本中也提供了相应的函数来获取最后的插入表中的自增列的值。

PERL实例

使用 mysql_insertid 属性来获取 AUTO_INCREMENT 的值。 实例如下:

$dbh->do ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')");
my $seq = $dbh->{mysql_insertid};

PHP实例

PHP 通过 mysql_insert_id ()函数来获取执行的插入SQL语句中 AUTO_INCREMENT列的值。

mysql_query ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')", $conn_id);
$seq = mysql_insert_id ($conn_id);

重置序列

如果你删除了数据表中的多条记录,并希望对剩下数据的AUTO_INCREMENT列进行重新排列,那么你可以通过删除自增的列,然后重新添加来实现。 不过该操作要非常小心,如果在删除的同时又有新记录添加,有可能会出现数据混乱。操作如下所示:

mysql> ALTER TABLE insect DROP id;
mysql> ALTER TABLE insect
    -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
    -> ADD PRIMARY KEY (id);

设置序列的开始值

一般情况下序列的开始值为1,但如果你需要指定一个开始值100,那我们可以通过以下语句来实现:

mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);

或者你也可以在表创建成功后,通过以下语句来实现:

mysql> ALTER TABLE t AUTO_INCREMENT = 100;
由JSRUN为你提供的MySQL在线运行、在线编译工具
        JSRUN提供的MySQL 在线运行,MySQL 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。