欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL建表語(yǔ)句基礎(chǔ)及示例詳解

 更新時(shí)間:2024年07月31日 10:10:45   作者:龍大.  
在數(shù)據(jù)庫(kù)中,創(chuàng)建表格是存儲(chǔ)和組織數(shù)據(jù)的基本操作之一,下面這篇文章主要給大家介紹了關(guān)于MySQL建表語(yǔ)句基礎(chǔ)及示例的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

基本建表語(yǔ)句

CREATE TABLE table_name (
    column_name1 data_type(size) [column_constraints],
    column_name2 data_type(size) [column_constraints],
    ...
    [table_constraints]
) [table_options];
  • table_name: 新建表的名稱。
  • column_name1column_name2, ...: 表中各列的名稱。
  • data_type: 列的數(shù)據(jù)類型,如 INTVARCHARTEXTDATETIMESTAMP 等。
  • size: 數(shù)據(jù)類型的長(zhǎng)度或大?。▽?duì)于某些數(shù)據(jù)類型適用)。
  • [column_constraints]: 列級(jí)約束,例如 NOT NULLAUTO_INCREMENTDEFAULTPRIMARY KEYUNIQUECOMMENT 等。
  • [table_constraints]: 表級(jí)約束,如 PRIMARY KEYFOREIGN KEYUNIQUE 等。
  • [table_options]: 表的其他選項(xiàng),如 ENGINEAUTO_INCREMENTCHARSETCOMMENT 等。

數(shù)據(jù)類型

  MySQL 支持多種數(shù)據(jù)類型,以下是一些常見的數(shù)據(jù)類型:

  • INT: 整數(shù)類型。
  • VARCHAR(size): 可變長(zhǎng)度的字符串,size 表示最大字符數(shù)。
  • CHAR(size): 固定長(zhǎng)度的字符串。
  • TEXT: 長(zhǎng)文本數(shù)據(jù)。
  • DATE: 日期,格式為 YYYY-MM-DD。
  • DATETIME: 日期和時(shí)間,格式為 YYYY-MM-DD HH:MM:SS。
  • TIMESTAMP: 時(shí)間戳,記錄數(shù)據(jù)變更的日期和時(shí)間。
  • FLOAT: 浮點(diǎn)數(shù)。
  • DOUBLE: 雙精度浮點(diǎn)數(shù)。
  • DECIMAL(M, D): 定點(diǎn)數(shù),M 是總位數(shù),D 是小數(shù)點(diǎn)后的位數(shù)。

列級(jí)約束

  • NOT NULL: 該列不能有 NULL 值。
  • AUTO_INCREMENT: 用于整數(shù)類型,自動(dòng)遞增。
  • DEFAULT value: 為列指定默認(rèn)值。
  • PRIMARY KEY: 將列設(shè)置為表的主鍵。
  • UNIQUE: 保證列中的每個(gè)值都是唯一的。
  • COMMENT 'string': 為列添加注釋。

表級(jí)約束

  • PRIMARY KEY (column1, column2, ...): 指定一個(gè)或多個(gè)列作為主鍵。
  • UNIQUE KEY (column1, column2, ...): 指定一個(gè)或多個(gè)列作為唯一鍵。
  • FOREIGN KEY (column) REFERENCES parent_table(column): 指定一個(gè)外鍵,創(chuàng)建與另一個(gè)表的引用關(guān)系。
  • INDEX (column1, column2, ...): 創(chuàng)建一個(gè)或多個(gè)列的索引。

表選項(xiàng)

  • ENGINE=storage_engine: 指定存儲(chǔ)引擎,如 InnoDB(默認(rèn))、MyISAM 等。
  • AUTO_INCREMENT=value: 為 AUTO_INCREMENT 的列指定初始值。
  • CHARSET=character_set: 指定表的默認(rèn)字符集。
  • COMMENT 'string': 為表添加注釋。

示例

以下是一個(gè)包含各種語(yǔ)句的創(chuàng)建表示例:

CREATE TABLE student (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    age INT DEFAULT 18,
    admission_date DATE,
    bio TEXT,
    PRIMARY KEY (id),
    UNIQUE KEY (name),
    INDEX (admission_date),
    COMMENT 'Student records table'
) ENGINE=InnoDB AUTO_INCREMENT=1001 CHARSET=utf8mb4;

   在這個(gè)示例中,創(chuàng)建了一個(gè)名為 student 的表,包含 idnameageadmission_date, 和 bio 列。id 列是主鍵并自動(dòng)遞增,起始值為 1001。name 列是唯一的,admission_date 列被索引。整個(gè)表的存儲(chǔ)引擎是 InnoDB,字符集是 utf8mb4,并且有一個(gè)表級(jí)注釋。

附:常用函數(shù)

/*count函數(shù):統(tǒng)計(jì)符合條件的記錄數(shù),count(* )統(tǒng)計(jì)表中的記錄總數(shù), count(列名)統(tǒng)計(jì)指定字段不為null的記錄數(shù)。*/
select count(*) from dapt;
select count(dname) from dapt ;
select * from dapt where dname is null; 
--max函數(shù)返回所選字段的最大值,用法是max(字段名)
--select max (列名) from 表名;
select max(deptno) from dapt;
--min函數(shù)返回所選字段的最小值,用法是min(字段名)
--select min (列名) from 表名;
select min(deptno) from dapt;
--avg函數(shù)返回所選字段的平均值,用法是avg(字段名)
select avg(deptno) from dapt;
--sum函數(shù)返回所選字段的合計(jì)值,用法是sum(字段名)
select sum(deptno) from dapt;

總結(jié)

到此這篇關(guān)于MySQL建表語(yǔ)句基礎(chǔ)及示例的文章就介紹到這了,更多相關(guān)MySQL建表語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論