MySQL 基本語法 (一) 創建表格、資料庫

閱讀時間約 2 分鐘

在SQL中,關鍵字要大寫,命名的資料庫要用`反短斜線刮起來

  • 創建資料庫 CREATE
CREATE DATABASE `sql_tutorial`;


  • 展示資料庫 SHOW
SHOW DATABASES;
raw-image
  • 刪除/丟棄資料庫 DROP
DROP DATABASE `sql_tutorial`;
SHOW DATABASES;
raw-image

創建表格 table

  • 要選擇使用哪一個資料庫 USE
USE `sql_tutorial`;
raw-image

在創建表格時,要設定每個屬性的資料型態

  • 資料型態

INT -- 整數

DECIMAL(m,n) -- 有小數點的數 m:總共有幾位數 n:小數點的部分占了幾位

DECIMAL(3,2) 2.33 一共有3位數 小數點佔了2位數

VARCHAR(n) -- 字串 n:最多可以存放n個字元

VARCHAR(10)

BLOB -- (Binary Large Object) 圖片 影片 檔案... (存放2進制的資料)

DATE -- 'YYYY-MM-DD' 日期 2023-12-06

TIMESTAMP -- 'YYYY-MM-DD HH:MM:SS' 紀錄時間

  • 創建表格 CREATE TABLE 'student' (...);

PRIMARY KEY : 唯一表示每一筆資料的屬性

PRIMARY KEY 的第1種定義方式

CREATE TABLE `student`(
`student_id` INT PRIMARY KEY,
`name` VARCHAR(20),
`major` VARCHAR(20)
);

PRIMARY KEY 的第2種定義方式

CREATE TABLE `student`(
`student_id` INT,
`name` VARCHAR(20),
`major` VARCHAR(20),
PRIMARY KEY(`student_id`)
);
  • 顯示表格 DESCRIBE
DESCRIBE `student`;
raw-image
  • 刪除表格 DROP TABLE
DROP TABLE `student`;
  • 新增屬性

新增1個gpa的屬性

ALTER TABLE : 變更現有資料表的定義

ALTER TABLE `student` ADD gpa DECIMAL(3,2);
DESCRIBE `student`;
新增gpa屬性

新增gpa屬性

  • 刪除屬性

刪除`student` TABLE中的gpa屬性

ALTER TABLE `student` DROP COLUMN gpa;
DESCRIBE `student`;
raw-image













7會員
47內容數
這裡會放一些我寫過的 Leetcode 解題和學習新技術的筆記
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
SQL | SQL 語法基礎篇 (1)SQL 基本篇 - CRUD、運算子、內建函式
Thumbnail
avatar
Jeremy Ho
2023-10-03
MySQL與MongoDB:關聯式與非關聯式資料庫比較在現代資訊科技的浪潮下,資料庫管理系統扮演著舉足輕重的角色,決定著企業和開發者如何有效地儲存、查詢和操作數據。MySQL和MongoDB是兩種廣泛使用的資料庫,分別代表了傳統的關聯式資料庫(RDBMS)和新興的非關聯式資料庫(NoSQL)的典型。
Thumbnail
avatar
Kevin_malamute |凱文-馬拉穆
2023-08-15
[MySQL] Restore範例資料庫有了MySQL後,當然就要下指令來玩玩 能玩爆代表你有天賦,每一次爆炸你又能修復就是成長大躍進的時刻 但是看看你的資料庫空空如也,只有系統DB怎麼辦咧 還好網路上有很多善心人士願意分享範例資料庫供人使用 話不多說就來試試看吧  1. 先找到你要的範例資料庫 範例資料庫下載
Thumbnail
avatar
衣服子
2021-11-08
[MySQL] CentOS7 安裝 MYSQL 8.0網路隨便估狗都有一堆大神教學文,不過還是紀錄一下自己安裝的步驟 (2021.11.7)身為一個linux和資料庫菜雞只能乖乖腳踏實地一步一步來 準備好環境 (廢話) 1. 先準備好環境 (廢話) 我是用virtualbox起一個CentOS7的虛擬機詳細以參考以下網址,有非常詳盡的步驟
Thumbnail
avatar
衣服子
2021-11-08
MySQL GROUP_CONCAT 長度限制Laravel GROUP_CONCAT 出來的json格式錯誤,看起來是字串被截斷了,查了一下發現原來MySQL GROUP_CONCAT select出來的字串會有最大值的限制,預設是1024個字元。 1. 程式端解法:    DB::statement('SET GLOBAL group_c
avatar
Vic Lin
2021-10-08
MySQL DATE_SUBMySQL 取得現在日期半年前的日期: DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH) 本筆記參考: https://www.w3schools.com/sql/func_mysql_date_sub.asp
Thumbnail
avatar
Vic Lin
2021-09-28
MySQL group_concat merge two column to json以下以Laravel為例,一般group_concat我們可能會這樣寫: E 但其實table_a_id, table_a_name可以merge成一個json,資料整理起來比較好看,可以改成這樣的寫法: E 最後response之前可以用php的json_decode把json string轉為o
avatar
Vic Lin
2021-05-14
MySQL group_concat with if condition有時候我們會需要只group concat某些條件,就可以像這樣寫: group_concat(DISTINCT IF(user.name != 'abc' AND b.b_id != c.c_id, c.name, NULL)) as d 符合這個條件的才給值,否則給null,由於group_co
avatar
Vic Lin
2021-05-12
avatar
Alan & Jane
2021-01-10
[Mysql]使用正規化篩選結果由於使用Python爬政府公開資訊進Mysql後,如果只想選取特定字串出來可以使用 WHERE 搭配 Like;但是當我們要尋找的字串非常多時,我們可以使用 REGEXP 的方式篩選,個人覺得比較有效率及程式不會太過冗長,如果有更好的作法也可以在下方回覆唷
Thumbnail
avatar
Justin
2020-02-03