mysql資料庫用sql語句建表,資料庫怎麼用sql語句建表

本文目錄一覽:

sql怎麼創建表

1.1 創建表方法

創建表是指在已存在的資料庫中建立新表。這是建立資料庫最重要的一步,是進行其他操作的基礎。

1.1.1 創建表的語法形式

CREATE TABLE 表名 (

屬性名 數據類型 [ 完整性約束條件 ],

屬性名 數據類型 [ 完整性約束條件 ],

……

屬性名 數據類型 [ 完整性約束條件 ],

)[ 表類型 ] [ 表字符集 ];

SQL 是不區分大小寫。下面將會具體介紹SQL,這種創建表是通過什麼方式起來的效果怎麼樣?

命名規範:

1. 命名富有意義 ( 英文或英文組合 )

2. 自定義名稱使用小寫

3. MySQL 語句使用大寫

CREATE TABLE IF NOT EXISTS data_house(

id INT,

name VARCHAR(20);

gender BOOLEAN,

) Engine = MyISAM;

上面 SQL 語句的含義是:如果不存在 text1 表,就創建它,包含 3 個欄位 id 、 name 和 gender ,它們的類型分別是整形、字元型和布爾型,創建的表的類型是 MyISAM 。

完整性約束條件表

PRIMARY KEY 標識該屬性為該表的主鍵,可以唯一的標識對應的元組

FOREIGN KEY 標識該屬性為該表的外鍵,是與之聯繫的某表的主鍵

NOT NULL 標識該屬性不能為空

UNIQUE 標識該屬性的值是唯一的

AUTO_INCREMENT 標識該屬性的值自動增加,這是 MySQL 的 SQL 語句的特色 (null,0)

DEFAULT 標識該屬性設置默認值 (not null defualt 0,not null default 0.0,not null default ”)

1.1.2 設置表的主鍵

主鍵是表的一個特殊欄位。該欄位能惟一地標識該表中的每條信息。主鍵和記錄的關係,如同身份證和人的關係。主鍵用來標識每個記錄,每個記錄的主鍵值都不同。身份證是用來標明人的身份,每個人都具有惟一的身份證號。設置表的主鍵指在創建表時設置表的某個欄位為該表的主鍵。

主鍵的主要目的是幫組 MySQL 以最快的速度查找到表中的某一條信息。

主鍵必須滿足的條件:

1. 主鍵必須是唯一的,表中任意兩條記錄的主鍵欄位的值不能相同;

2. 主鍵的值是非空值;

3. 主鍵可以是單一的欄位,也可以是多個欄位組合。

1. 單欄位的主鍵:

CREATE TABLE student1 (

stu_id INT PRIMARY KEY ,

stu_name VARCHAR(20) NOT NULL,

stu_gender BOOLEAN

) Engine = InnoDB;

2. 多欄位主鍵 :

CREATE TABLE student2 (

stu_id INT,

course_id INT,

grade FLOAT,

PRIMARY KEY( stu_id, course_id )

)Engine = InnoDB;

1.1.3 設置表的外鍵

外鍵是表的一個特殊欄位。如果欄位 sno 是一個表 A 的屬性,且依賴於表 B 的主鍵。那麼,稱表 B 為父表,表 A 為子表, sno 為表 A 的外鍵。通過 sno 欄位將父表 B 和子表 A 建立關聯關係。設置表的外鍵指在創建表設置某個欄位為外鍵。

設置外鍵的原則:必須依賴於資料庫中已存在的父表的主鍵;外鍵可以為空值。

外鍵的作用 : 是建立該表與其父表的關聯關係。父表中刪除某條信息時,子表中與之對應的信息也必須有相應的改變。例如, stu_id 就 student 表的主鍵, stu_id 是 grade 表的外鍵。當 stu_id 為 ‘123’ 同學退學了,需要從 student 表中刪除該學生的信息。那麼, grade 表中 stu_id 為 ‘123’ 的所有信息也應該同時刪除。

CONSTRAINT 外鍵別名 FOREIGN KEY ( 屬性 1.1, 屬性 1.2… 屬性 1.n);

REFERENCES 表名 ( 屬性 2.1, 屬性 2.2,…, 屬性 2.n)

CREATE TABLE student3 (

id INT PRIMARY KEY,

stu_id INT,

course_id INT,

# 設置外鍵

CONSTRAINT C_fk FOREIGN KEY (stu_id, course_id) REFERENCES student2(stu_id, course_id)

) Engine = InnoDB;

1.1.4 設置表的非空約束

非空性是指欄位的值不能為空值 (NULL) 。非空約束將保證所有記錄中該欄位都有值。如果用戶新插入的記錄中,該欄位為空值,則資料庫系統會報錯。例如,在 id 欄位加上非空約束, id 欄位的值就不能為空。如果插入記錄的 id 欄位的值為空,該記錄將不能插入。設置表的非空約束是指在創建表時為表的某些特殊欄位加上 NOT NULL 約束條件。設置非空約束的基本語法規則如下:

屬性名 數據類型 NOT NULL

mysql怎麼用語句建表

mysql使用create語句進行創建資料庫表,具體語法:

CREATE TABLE table_name (column_name column_type);

其中需要表名,表中欄位名,欄位屬性;示例:創建一個學生信息表 sql如下

CREATE TABLE IF NOT EXISTS `student`(

`student_id` INT UNSIGNED AUTO_INCREMENT,

`student_name` VARCHAR(100) NOT NULL,

`student_age` int(3) NOT NULL,

PRIMARY KEY ( `student_id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;

mysql資料庫建表和SQL修改表結構

工具/材料

Navicat For MySQL

01

打開Navicat for MySQL,找到一個資料庫,然後右鍵單擊表,選擇新建表選項,如下圖所示

02

在彈出的新建表界面,我們給表建一些欄位,如下圖所示,建好之後保存即可

03

建好的表會在資料庫的右側界面顯示出來,需要查看哪個表直接選擇即可

04

下面我們在test資料庫中新建一個查詢,通過alter table語句修改表中的age欄位不為空,如下圖所示

原創文章,作者:BYCU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/135107.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
BYCU的頭像BYCU
上一篇 2024-10-04 00:10
下一篇 2024-10-04 00:10

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python3支持多行語句

    Python3是一種高級編程語言,開發人員可以輕鬆地使用該語言編寫簡單到複雜的代碼。其中Python3支持多行語句,方便開發人員編寫複雜的代碼,提高代碼的可讀性和可維護性。 一、使…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python for循環語句列印九九乘法表

    本篇文章將詳細介紹如何使用Python的for循環語句列印九九乘法表。列印九九乘法表是我們初學Python時經常練習的一項基礎操作,也是編寫Python程序的基本能力之一。 1、基…

    編程 2025-04-29
  • Hibernate日誌列印sql參數

    本文將從多個方面介紹如何在Hibernate中列印SQL參數。Hibernate作為一種ORM框架,可以通過列印SQL參數方便開發者調試和優化Hibernate應用。 一、通過配置…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • 使用SQL實現select 聚合查詢結果前加序號

    select語句是資料庫中最基礎的命令之一,用於從一個或多個表中檢索數據。常見的聚合函數有:count、sum、avg等。有時候我們需要在查詢結果的前面加上序號,可以使用以下兩種方…

    編程 2025-04-29
  • Python中自定義函數必須有return語句

    自定義函數是Python中最常見、最基本也是最重要的語句之一。在Python中,自定義函數必須有明確的返回值,即必須要有return語句。本篇文章將從以下幾個方面對此進行詳細闡述。…

    編程 2025-04-29

發表回復

登錄後才能評論