MySQL資料庫:5、創建表的完整語法、MySQL數據類型

来源:https://www.cnblogs.com/kangssssh/archive/2022/11/23/16919701.html
-Advertisement-
Play Games

一、創建表的完整語法 1、創建表的語法 create table 表名( ​ 欄位名1 欄位類型(數字) 約束條件, ​ 欄位名2 欄位類型(數字) 約束條件, ​ 欄位名3 欄位類型(數字) 約束條件,...) 2、創建表的條件 create table: 創建表的關鍵字 表名:表的名字 欄位名: ...


目錄

一、創建表的完整語法

1、創建表的語法

create table 表名(

​ 欄位名1 欄位類型(數字) 約束條件,

​ 欄位名2 欄位類型(數字) 約束條件,

​ 欄位名3 欄位類型(數字) 約束條件,...)

2、創建表的條件

  • create table: 創建表的關鍵字
  • 表名:表的名字
  • 欄位名:該列欄位的名字,例如Excel文檔里的序號、姓名、年齡等欄位
  • 欄位類型(數字):該欄位的字元類型,當類型為整型或者浮點型時可以不填(用於展示數字的長度),其他類型為:Bytes
  • 約束條件:可以是單個,也可以寫多個,空格隔開就可以,主要用於約束該欄位下的數據存儲條件

3、數字的含義

​ 在創建表的時候,欄位名後會加上數據的類型,而數據類型的後面又會加上數字,數字在很多地方都是用來限制儲存數據的長度,但是在整型中數字是用來控制展示的長度,因此在寫整型時,通常不用加數字

create table t12(id int(3));  不是用來限制長度
insert into t12 values(12345);

create table t13(id int(5) zerofill);  而是用來控制展示的長度
insert into t13 values(123),(123456789);

create table t14(id int);

二、MySQL數據類型

1、欄位類型之整型

整型的種類:

  • tinyint

    • 特點:最大可以儲存1個bytes(正負號占一個bit)
  • smallint

    • 特點:最大可以儲存2個biyts(正負號占一個bit)
  • int

    • 特點:最大可以儲存4個biyts(正負號占一個bit)
  • bigint

    • 特點:最大可以儲存8個biyts(正負號占一個bit)

​ MySQL中整型預設自帶正負號,正負號會占用一個bit,也就是說整型的最大值會受正負號影響,下麵可以通過添加數據的方式驗證正負號的存在

取消正負號:

​ 在創建表的階段,在整型類型後添加關鍵詞,就可以取消正負號

​ create table 表名(欄位名 整型的類型 unsigned);

2、欄位類型之浮點型

浮點型的種類:

  • float(m,d)
    • 特點:單精度浮點型 8位精度(4位元組) m總個數,d小數位
  • double(m,d)
    • 特點:雙精度浮點型 16位精度(8位元組) m總個數,d小數位
  • decimal(m,d)
    • 特點:DECIMAL是一種定點類型,即所有值都有一個固定的小數位數。這 一點的重要性在於DECIMAL值不會像浮點數那樣存在四捨五入的問題
    • M的取值範圍是1〜65,D的取值範圍是0〜30,且不超過M

3、欄位類型之字元類型

字元類型的種類:

  • char(n)
    • 特點:固定長度,最多255個字元
  • carchar(n)
    • 特點:可變長度,最多65535個字元

區別:

​ char(n) 固定長度,char(4)不管是存入幾個字元,都將占用4個位元組,varchar是存入的實際字元數+1個位元組(n<=255)或2個位元組(n>255),所以varchar(4),存入3個字元將占用4個位元組。

4、欄位類型之枚舉與集合

  • 枚舉(多選一)
    • 枚舉指在創建表的時候,指定的欄位名後可以填入枚舉類型,在關鍵詞後方括弧內,填入多個數據值,後期在往該欄位名下添加數據時,只能添加枚舉後括弧內多個數據值的其中一個,否則將會報錯
    • 關鍵詞:enum(數據值1, 數據值2,...)
枚舉:
	多選一
	create table t15(
    	id int,
      	name varchar(32),
       gender enum('male','female','others')
    );
 	insert into t15 values(1,'tony','猛男');
  	insert into t15 values(2,'jason','male');
 	insert into t15 values(3,'kevin','others');
  • 集合(多選多/多選一)
    • 集合和枚舉的功能相似,也是在定義欄位名階段,在欄位名後方添加集合關鍵詞,在括弧內填入多個數據值,在後期添加該欄位名的數據的時候,可以填入指定的一個或多個數據值,指定外的數據值無法添加
    • 關鍵詞:set(數據值1, 數據值2,...)
集合
	多選多/多選一
	create table t16(
    	id int,
      	name varchar(16),
       hobbies set('basketabll','football','doublecolorball')
    );
 	insert into t16 values(1,'jason','study');
 	insert into t16 values(2,'tony','doublecolorball');
	insert into t16 values(3,'kevin','doublecolorball,football');

5、欄位類型之日期類型

類型的種類:

datetime		年月日時分秒
date			年月日
time			時分秒
year			年

代碼用法:

create table t17(
	id int,
  	name varchar(32),
 	register_time datetime,
 	birthday date,
 	study_time time,
 	work_time year
);
insert into t17 values(1,'jason','2000-11-11 11:11:11','1998-01-21','11:11:11','2000');

涉及到時間類型的一般無需我們手動添加,系統都會自動進行添加


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在使用 Linux 系統的過程中,我們經常需要查看系統、資源、網路、進程、用戶等方面的信息,查看這些信息的常用命令值得瞭解和熟悉。 ...
  • 痞子衡嵌入式半月刊: 第 67 期 這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發佈一期。 本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。 上期回顧 ...
  • Python基礎之MySQL資料庫 一、約束概述 1、為什麼要約束 ​ 為了防止資料庫中存在不符合語義規定的數據和防止錯誤信息的輸入、輸出造成無效的操作而提出的 ​ 為了保證數據的完整性,SQL規範以約束的方式對錶數據進行額外的條件限制,從以下四個方面考慮 實體完整性:例如一個表中不能存在兩條相同的 ...
  • 摘要:DWS的負載管理分為兩層,第一層為cn的全局併發控制,第二層為資源池級別的併發控制。 本文分享自華為雲社區《GaussDB(DWS) 併發管控&記憶體管控》,作者: fighttingman。 1背景 這裡將併發管控和記憶體管控寫在一起,是因為記憶體管控實際是通過限制語句的併發達到記憶體管控的目的的。 ...
  • Pandas靈活強大,是數據分析必備工具庫!但處理大型數據集時,需過渡到PySpark才可以發揮並行計算的優勢。本文總結了Pandas與PySpark的核心功能代碼段,掌握即可絲滑切換。 ...
  • 學習思路: 1.需求是什麼? 2.方案是什麼? 3.邏輯是什麼? 4.開發中的問題?怎麼解決? 整體流量概況: 1.累計用戶量 2.每日新增用戶量 3.每日的訪問人數、次數 4.每日的全部訪問人均次數、時長和深度 5.計算用戶平均會話數 6.計算當日訪問IP數 7.新老用戶訪問占比 8.每日新老用戶 ...
  • 在進行對接數據時,經常會遇到對接的是介面數據。 關於在對接介面類型的數據,數據返回的為json數組形式的數據,需要講數組先解析出來,主要是通過 jsonpath 表達式 。 jsonpath 表達式 : 1、JSONPath是xpath在json的應用2、JSONPath 是參照xpath表達式來解 ...
  • 在實際使用時,必不可少地需要將多個文檔甚至是多個集合彙總到一起計算、分析,MongoDB 提供了原生聚合框架支持這樣的計算、分析。 ...
一周排行
    -Advertisement-
    Play Games
  • 簡介 本文的初衷是希望幫助那些有其它平臺視覺演算法開發經驗的人能快速轉入Halcon平臺下,通過文中的示例開發者能快速瞭解一個Halcon項目開發的基本步驟,讓開發者能把精力完全集中到演算法的開發上面。 首先,你需要安裝Halcon,HALCON 18.11.0.1的安裝包會放在文章末尾。安裝包分開發和 ...
  • 本文是對Datawhale的動手學數據分析課程的學習總結,記錄了整體的學習過程、答案以及個人感想,代碼較為詳細。 ...
  • JZ7重建二叉樹 描述 給定節點數為 n 的二叉樹的前序遍歷和中序遍歷結果,請重建出該二叉樹並返回它的頭結點。 例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6} 提示: 1.vin.length == pre.length 2.pre 和 vin ...
  • 我們都知道在Java編程中多線程的同步使用synchronized關鍵字來標識,那麼這個關鍵字在JVM底層到底是如何實現的呢。 我們先來思考一下如果我們自己實現的一個鎖該怎麼做呢: 首先肯定要有個標記記錄對象是否已經上鎖,執行同步代碼之前判斷這個標誌,如果對象已經上鎖線程就阻塞等待鎖的釋放。 其次要 ...
  • 目錄 一.OpenGL 色階 1.Windows OpenGL ES 版本 2.Windows OpenGL 版本 二.OpenGL 色階 GLSL Shader 三.猜你喜歡 零基礎 OpenGL ES 學習路線推薦 : OpenGL ES 學習目錄 >> OpenGL ES 基礎 零基礎 Ope ...
  • 1. 查看Linux伺服器版本信息 # cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 2. 禪道開源版安裝包下載 wget http://dl.cnezsoft.com/zentao/9.8.2/ZenTaoPMS.9.8. ...
  • Spring 框架可以為 Java 應用程式開發提供全面的基礎設施支持,它是現在非常流行的 Java 開源框架,對於一個 Java 開發人員來說,熟練掌握 Spring 是必不可少的。 ...
  • 前言 本篇是c++總結的第二篇,關於c++的對象模型,在構造、拷貝虛函數上重點分析,也包含了c++11class的新用法和特性,如有不當,還請指教! c++三大特性 訪問許可權 ​ 在c++中通過public、protected、private三個關鍵字來控製成員變數和成員函數的訪問許可權,它們分別表示 ...
  • 一.小結 1.使用二維數組來存儲表格 2.可以使用以下語法來聲明二維數組變數: 元素類型[ ] [ ]數組變數 3.可以使用以下語法來創建二維數組變數: new 元素類型 [行的個數][列的個數] 4.使用下麵的語法表示二維數組中的每個元素: 數組變數[行下標][列的個數] 5.可使用數組初始化語法 ...
  • typimg是一款為typora編輯器提供圖像自定義上傳服務的工具,該工具將在typora中輸入的網路圖片、本地圖片、剪貼板圖片/截圖上傳到博客園,支持在MacOS、Windiws、Linux三個平臺上運行。 ...