CREATETABLE users (
id INTPRIMARYKEY,
name VARCHAR(50)NOTNULL,
email VARCHAR(100)UNIQUE,
password VARCHAR(100)NOTNULL,
created_at DATETIMEDEFAULTCURRENT_TIMESTAMP,
updated_at TIMESTAMPDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,
age INTCHECK(age >=18),
address TEXT,
role ENUM('admin','user')DEFAULT'user');
这个语句将创建一个名为users的表,包含多个列和约束。其中id列是主键,name列是非空字符串,email列是唯一的,password列是非空字符串,created_at列是日期时间类型,updated_at列是日期时间类型,但在更新时会自动更新,age列使用检查约束以确保其值大于等于18,address列是文本类型,role列是枚举类型,且默认值为'user'。
PRIMARY KEY使用
CREATETABLE employees (
id INTPRIMARYKEY,
name VARCHAR(50),
age INT);PRIMARYKEY 是一列或一组列,其值唯一标识表中的每一行。一个表只能有一个PRIMARYKEY。在表创建时,可以指定其中的一列为主键,也可以使用多列来组合作为主键。对于多列组合主键,它们的值的组合必须是唯一的。
AUTO_INCREMENT使用
CREATETABLE users (
id INTPRIMARYKEYAUTO_INCREMENT,
name VARCHAR(50));AUTO_INCREMENT是一种MySQL特有的属性,它允许一个整数列自动增长,每次插入新行时自动递增。这通常用于为表创建一个唯一的、自动生成的数字标识符。必须将AUTO_INCREMENT属性与INTEGER数据类型一起使用,通常是使用INT或BIGINT数据类型。
在上面的代码中,每次插入一行时,MySQL将自动为id列生成一个新的唯一值,而不需要手动为该列指定一个值。这使得插入新行时更加方便,同时也确保每个行都有一个唯一的标识符。
UNIQUE使用
CREATETABLE students (
student_id INTPRIMARYKEY,
name VARCHAR(50)NOTNULL,
email VARCHAR(100)UNIQUE);
假设有一个“学生”数据表,其中包含学生ID、姓名和电子邮件地址。为了确保每个学生的电子邮件地址是唯一的,可以在“电子邮件地址”列上创建UNIQUE约束。
在上面的代码中,我们创建了一个名为“students”的数据表,并在“email”列上创建了一个UNIQUE约束。这将确保每个学生的电子邮件地址是唯一的。
FutureTask详解
1、FutureTask简介
FutureTask主要用于异步任务的执行和结果获取。其最重要的特性就是可以被提交到线程池中执行,同时也可以用来获取执行结果或检查任务的状态。
2、FutureTask内部结构
继承结构
public class FutureTask<V> implements …