在创建表时,在某些情况下,我们需要自动生成/增加列的值(例如ID)。各种数据库以不同的方式支持此功能。
在MySQL数据库中,您可以使用以下语法声明列自动递增。CREATETABLEtable_name(
IDINTPRIMARYKEYAUTO_INCREMENT,
column_name1data_type1,
column_name2data_type2,
column_name3data_type3,
column_name4data_type4,
.......................
);
MySQL查询创建具有自动递增列的表。CREATETABLESales(
IDINTPRIMARYKEYAUTO_INCREMENT,
ProductNameVARCHAR(20)NOTNULL,
CustomerNameVARCHAR(20)NOTNULL,
DispatchDatedate,
DeliveryTimetimestamp,
PriceINT,
Locationvarchar(20)
);
示例
以下JDBC程序建立与MYSQL数据库的连接,并创建一个具有自动递增列的查询。importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclassAutoIncrementedColumns_Oracle{
publicstaticvoidmain(Stringargs[])throwsSQLException{
//注册驱动程序
DriverManager.registerDriver(newcom.mysql.jdbc.Driver());
//获得连接
StringmysqlUrl="jdbc:mysql://localhost/mydatabase";
Connectioncon=DriverManager.getConnection(mysqlUrl,"root","password");
System.out.println("Connectionestablished......");
//创建语句
Statementstmt=con.createStatement();
//使用自动递增的值创建销售表
StringcreateQuery="CREATETABLESales("
+"IDINTPRIMARYKEYAUTO_INCREMENT,"
+"ProductNameVARCHAR(20)NOTNULL,"
+"CustomerNameVARCHAR(20)NOTNULL,"
+"DispatchDatedate,"
+"DeliveryTimetimestamp,"
+"PriceINT,"
+"Locationvarchar(20))";
//执行查询
stmt.execute(createQuery);
System.out.println("Tablecreated......");
}
}
输出结果Connectionestablished......
Tablecreated......
验证
MYSQL中的DESCRIBE命令提供了一个表的描述,您可以使用它来验证具有自动递增列的表的创建,如下所示-mysql>describesales;
+--------------+-------------+------+-----+---------+----------------+
|Field|Type|Null|Key|Default|Extra|
+--------------+-------------+------+-----+---------+----------------+
|ID|int(11)|NO|PRI|NULL|auto_increment|
|ProductName|varchar(20)|NO||NULL||
|CustomerName|varchar(20)|NO||NULL||
|DispatchDate|date|YES||NULL||
|DeliveryTime|time|YES||NULL||
|Price|int(11)|YES||NULL||
|Location|varchar(20)|YES||NULL||
+--------------+-------------+------+-----+---------+----------------+
7rowsinset(0.00sec)
如果觉得《mysql中递增列_如何使用JDBC在MySQL中创建带有自动递增列的表?》对你有帮助,请点赞、收藏,并留下你的观点哦!