首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 基礎操作入門:查詢、建庫、選庫、建表、插入、查詢驗證全流程實戰

     編輯:MySQL 綜合教學

前言:從第一條 SQL 開始,建立正確肌肉記憶

MySQL 操作的核心閉環:連線 → 選庫 → 建表 → 插入 → 查詢 → 驗證。本文以零基礎視角,逐步拆解每個動作的標準語法、常見變體、驗證方法與避坑提醒,建立可復用的操作範本。

第一階段:連線與探索

mysql -u root -p
# 進入 mysql> 提示符

-- 查看版本與當前時間
SELECT VERSION(), CURRENT_DATE;

-- 查看所有資料庫
SHOW DATABASES;
-- 輸出:information_schema, mysql, performance_schema, sys, test

第二階段:建庫與選庫

-- 建立資料庫(若不存在)
CREATE DATABASE IF NOT EXISTS `asb` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 選擇資料庫(後續操作預設在此庫)
USE `asb`;
-- Database changed

-- 驗證當前庫
SELECT DATABASE();
-- +----------+
-- | DATABASE() |
-- +----------+
-- | asb       |
-- +----------+

技巧:連線時直接指定庫:mysql -u root -p asb

第三階段:建表與結構驗證

-- 建立員工表
CREATE TABLE `emp` (
  `emp_id`     VARCHAR(6)  NOT NULL COMMENT '工號',
  `emp_name`   VARCHAR(10) NOT NULL COMMENT '姓名',
  `emp_age`    INT         NOT NULL COMMENT '年齡',
  `emp_sal`    INT         NOT NULL COMMENT '薪資',
  `emp_bir`    DATE        NOT NULL COMMENT '生日',
  `emp_sex`    VARCHAR(5)  NOT NULL COMMENT '性別',
  PRIMARY KEY (`emp_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='員工基本資料表';

-- 查看表清單
SHOW TABLES;
-- +----------------+
-- | Tables_in_asb  |
-- +----------------+
-- | emp            |
-- +----------------+

-- 查看表結構(DESC = DESCRIBE)
DESC `emp`;
-- +---------+-------------+------+-----+---------+-------+
-- | Field   | Type        | Null | Key | Default | Extra |
-- +---------+-------------+------+-----+---------+-------+
-- | emp_id  | varchar(6)  | NO   | PRI | NULL    |       |
-- | emp_name| varchar(10) | NO   |     | NULL    |       |
-- | emp_age | int         | NO   |     | NULL    |       |
-- | emp_sal | int         | NO   |     | NULL    |       |
-- | emp_bir | date        | NO   |     | NULL    |       |
-- | emp_sex | varchar(5)  | NO   |     | NULL    |       |
-- +---------+-------------+------+-----+---------+-------+

第四階段:插入資料與驗證

單筆插入

INSERT INTO `emp` VALUES ('100005', '嘯天', 27, 3000, '1979-07-10', 'male');
-- Query OK, 1 row affected (0.03 sec)

多筆批次插入(效能最佳)

INSERT INTO `emp` VALUES 
  ('100001', '紅楓', 29, 8000, '1977-01-01', 'male'),
  ('100002', '麗鵑', 27, 7000, '1979-12-31', 'female'),
  ('100003', '雲濤', 30, 9000, '1976-05-20', 'male');
-- Query OK, 3 rows affected (0.01 sec)
-- Records: 3  Duplicates: 0  Warnings: 0

指定欄位插入(彈性、防結構變更破壞)

INSERT INTO `emp` (`emp_id`, `emp_name`, `emp_age`) 
VALUES ('100004', '新人', 25);
-- emp_sal, emp_bir, emp_sex 將使用 DEFAULT 或 NULL(視定義)

全表查詢驗證

SELECT * FROM `emp`;
-- +--------+----------+---------+---------+------------+---------+
-- | emp_id | emp_name | emp_age | emp_sal | emp_bir    | emp_sex |
-- +--------+----------+---------+---------+------------+---------+
-- | 100005 | 嘯天     |      27 |    3000 | 1979-07-10 | male    |
-- | 100001 | 紅楓     |      29 |    8000 | 1977-01-01 | male    |
-- | 100002 | 麗鵑     |      27 |    7000 | 1979-12-31 | female  |
-- | 100003 | 雲濤     |      30 |    9000 | 1976-05-20 | male    |
-- | 100004 | 新人     |      25 |    NULL | NULL       | NULL    |
-- +--------+----------+---------+---------+------------+---------+
-- 5 rows in set (0.00 sec)

第五階段:條件查詢與常用函數

-- 條件查詢
SELECT `emp_name`, `emp_sal` FROM `emp` WHERE `emp_sal` > 5000;

-- 排序
SELECT * FROM `emp` ORDER BY `emp_sal` DESC;

-- 統計
SELECT COUNT(*) AS total, AVG(`emp_sal`) AS avg_sal, MAX(`emp_sal`) AS max_sal FROM `emp`;

-- 字串函數
SELECT CONCAT(`emp_name`, '(', `emp_id`, ')') AS label FROM `emp`;

-- 日期函數
SELECT `emp_name`, DATEDIFF(CURDATE(), `emp_bir`) / 365 AS age_approx FROM `emp`;

避坑速查表

錯誤現象原因正確做法
Unknown database未 USE 或資料庫不存在CREATE DATABASE → USE
Table doesn't exist拼寫錯/大小寫敏感(Linux)SHOW TABLES 確認名稱
Column count doesn't matchVALUES 欄位數與表定義不符指定欄位名 INSERT INTO t (a,b) VALUES (...)
Incorrect date value日期格式非 YYYY-MM-DD標準 ISO 格式
Data truncatedVARCHAR 長度超限/數值超出型別範圍調整型別或截斷資料

結語

MySQL 基礎操作沒有捷徑,只有標準化動作序列 + 即時驗證 + 錯誤肌肉記憶。將上述流程內化為「連線 → 庫 → 表 → 數據 → 查詢」六步曲,每一步都有 SHOW/DESC/SELECT 驗證,才能在真實專案中快速、準確、自信地操作資料庫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved