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

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

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

基本建表語句

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ù)類型的長度或大小(對于某些數(shù)據(jù)類型適用)。
  • [column_constraints]: 列級約束,例如 NOT NULLAUTO_INCREMENTDEFAULTPRIMARY KEYUNIQUECOMMENT 等。
  • [table_constraints]: 表級約束,如 PRIMARY KEYFOREIGN KEYUNIQUE 等。
  • [table_options]: 表的其他選項,如 ENGINEAUTO_INCREMENTCHARSETCOMMENT 等。

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

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

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

列級約束

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

表級約束

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

表選項

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

示例

以下是一個包含各種語句的創(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;

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

附:常用函數(shù)

/*count函數(shù):統(tǒng)計符合條件的記錄數(shù),count(* )統(tǒng)計表中的記錄總數(shù), count(列名)統(tǒng)計指定字段不為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ù)返回所選字段的合計值,用法是sum(字段名)
select sum(deptno) from dapt;

總結(jié)

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

相關(guān)文章

最新評論