MySQL是廣泛應(yīng)用的一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)列屬性和類型是MySQL中數(shù)據(jù)表設(shè)計過程中必不可少的組成部分,本文將全面介紹MySQL中常見的數(shù)據(jù)列屬性和類型。
數(shù)據(jù)列屬性
MySQL中的數(shù)據(jù)列屬性包括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:表示該列如果不設(shè)置值,則使用默認值。
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:表示該列為主鍵,唯一標(biāo)識一條記錄。
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) NOT NULL, age INT NOT NULL );
UNIQUE:表示該列的值唯一,即不能重復(fù)。
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) );
數(shù)據(jù)列類型
MySQL中支持的數(shù)據(jù)列類型包括數(shù)值型、字符型、日期型等。
數(shù)值型:包括整型、小數(shù)型等。
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常見的數(shù)據(jù)列屬性和類型的詳細介紹,希望對大家有所幫助。