数据列属性
MySQL中的数据列属性包括NOT NULL、DEFAULT、AUTO_INCREMENT、PRIMARY KEY、UNIQUE、CHECK等。
NOT NULL:表示该列的值不能为空。
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) NOT NULL, age INT NOT NULL );
DEFAULT:表示该列如果不设置值,则使用默认值。
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) DEFAULT '无名氏', age INT NOT NULL DEFAULT 0 );
AUTO_INCREMENT:表示该列的值自动递增。
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) NOT NULL, age INT NOT NULL );
PRIMARY KEY:表示该列为主键,唯一标识一条记录。
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) NOT NULL, age INT NOT NULL );
UNIQUE:表示该列的值唯一,即不能重复。
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) UNIQUE NOT NULL, age INT NOT NULL );
CHECK:表示该列的值需要满足一定条件,如下例中age列必须大于等于18。
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) NOT NULL, age INT NOT NULL CHECK(age>=18) );
数据列类型
MySQL中支持的数据列类型包括数值型、字符型、日期型等。
数值型:包括整型、小数型等。
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, math_score DECIMAL(5,2) NOT NULL, english_score FLOAT NOT NULL );
字符型:包括定长字符型和变长字符型。
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name CHAR(30) NOT NULL, address VARCHAR(100) NOT NULL );
日期型:包括日期、时间、时间戳等。
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) NOT NULL, create_date DATE NOT NULL, update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
以上就是MySQL常见的数据列属性和类型的详细介绍,希望对大家有所帮助。