首页
/
每日頭條
/
生活
/
适合小白入門的mysql教程
适合小白入門的mysql教程
更新时间:2025-05-24 00:30:14
概述

這篇文章主要針對剛入門的開發,一般半個小時是可以學完的,當然要理解的話估計不止30分鐘,對于初學者來說隻需滿足自己需求可以增删改查等簡易的維護即可。

下面介紹下MySQL的基礎方面内容。


一、開始使用

MySQL 為關系型數據庫(Relational Database Management System),一個關系型數據庫由一個或數個表格組成, 表格一般包括以下:

  • 表頭(header): 每一列的名稱;
  • 列(col): 具有相同數據類型的數據的集合;
  • 行(row): 每一行用來描述某個人/物的具體信息;
  • 值(value): 行的具體信息, 每個值必須與該列的數據類型相同;
  • 鍵(key): 表中用來識别某個特定的人\物的方法, 鍵的值在當前列中具有唯一性。

二、登錄MySQL

mysql -h 127.0.0.1 -u 用戶名 -p mysql -D 所選擇的數據庫名 -h 主機名 -u 用戶名 -p


三、創建數據庫

對于表的操作需要先進入庫use 庫名;

-- 創建一個名為 samp_db 的數據庫,數據庫字符編碼指定為 utf8 create database samp_db character set utf8; drop database samp_db; -- 删除 庫名為samp_db的庫 show databases; -- 顯示數據庫列表。 use samp_db; -- 選擇創建的數據庫samp_db show tables; -- 顯示samp_db下面所有的表名字 describe 表名; -- 顯示數據表的結構 delete from 表名; -- 清空表中記錄


四、創建數據庫表

使用 create table 語句可完成對表的創建, create table 的常見形式: 語法:create table 表名稱(列聲明);

-- 如果數據庫中存在user_accounts表,就把它從數據庫中drop掉 DROP TABLE IF EXISTS `user_accounts`; CREATE TABLE `user_accounts` ( `id` int(100) unsigned NOT NULL AUTO_INCREMENT primary key, `password` varchar(32) NOT NULL DEFAULT '' COMMENT '用戶密碼', `reset_password` tinyint(32) NOT NULL DEFAULT 0 COMMENT '用戶類型:0-不需要重置密碼;1-需要重置密碼', `mobile` varchar(20) NOT NULL DEFAULT '' COMMENT '手機', `create_at` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), `update_at` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), -- 創建唯一索引,不允許重複 UNIQUE INDEX idx_user_mobile(`mobile`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶表信息';

數據類型的屬性解釋

  • NULL:數據列可包含NULL值;
  • NOT NULL:數據列不允許包含NULL值;
  • DEFAULT:默認值;
  • PRIMARY KEY:主鍵;
  • AUTO_INCREMENT:自動遞增,适用于整數類型;
  • UNSIGNED:是指數值類型隻能為正數;
  • CHARACTER SET name:指定一個字符集;
  • COMMENT:對表或者字段說明;

五、增删改查

1、SELECT

SELECT 語句用于從表中選取數據。

語法:SELECT 列名稱 FROM 表名稱

語法:SELECT * FROM 表名稱

-- 表station取個别名叫s,表station中不包含 字段id=13或者14 的,并且id不等于4的 查詢出來,隻顯示id SELECT s.id from station s WHERE id in (13,14) and id not in (4); -- 從表 Persons 選取 LastName 列的數據 SELECT LastName FROM Persons -- 從表 users 選取 id=3 的數據,并隻拉一條數據(據說能優化性能) SELECT * FROM users where id=3 limit 1 -- 結果集中會自動去重複數據 SELECT DISTINCT Company FROM Orders -- 表 Persons 字段 Id_P 等于 Orders 字段 Id_P 的值, -- 結果集顯示 Persons表的 LastName、FirstName字段,Orders表的OrderNo字段 SELECT p.LastName, p.FirstName, o.OrderNo FROM Persons p, Orders o WHERE p.Id_P = o.Id_P -- gbk 和 utf8 中英文混合排序最簡單的辦法 -- ci是 case insensitive, 即 “大小寫不敏感” SELECT tag, COUNT(tag) from news GROUP BY tag order by convert(tag using gbk) collate gbk_chinese_ci; SELECT tag, COUNT(tag) from news GROUP BY tag order by convert(tag using utf8) collate utf8_unicode_ci;

2、UPDATE

Update 語句用于修改表中的數據。

語法:UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

-- update語句設置字段值為另一個結果取出來的字段 update user set name = (select name from user1 where user1 .id = 1 ) where id = (select id from user2 where user2 .name='小蘇'); -- 更新表 orders 中 id=1 的那一行數據更新它的 title 字段 UPDATE `orders` set title='這裡是标題' WHERE id=1;

3、INSERT

INSERT INTO 語句用于向表格中插入新的行。

語法:INSERT INTO 表名稱 VALUES (值1, 值2,....)

語法:INSERT INTO 表名稱 (列1, 列2,...) VALUES (值1, 值2,....)

-- 向表 Persons 插入一條字段 LastName = JSLite 字段 Address = shanghai INSERT INTO Persons (LastName, Address) VALUES ('JSLite', 'shanghai'); -- 向表 meeting 插入 字段 a=1 和字段 b=2 INSERT INTO meeting SET a=1,b=2; -- SQL實現将一個表的數據插入到另外一個表的代碼 -- 如果隻希望導入指定字段,可以用這種方法: -- INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 來源表; INSERT INTO orders (user_account_id, title) SELECT m.user_id, m.title FROM meeting m where m.id=1; -- 向表 charger 插入一條數據,已存在就對表 charger 更新 `type`,`update_at` 字段; INSERT INTO `charger` (`id`,`type`,`create_at`,`update_at`) VALUES (3,2,'2017-05-18 11:06:17','2017-05-18 11:06:17') ON DUPLICATE KEY UPDATE `id`=VALUES(`id`), `type`=VALUES(`type`), `update_at`=VALUES(`update_at`);

4、DELETE

适合小白入門的mysql教程(半小時MySQL基礎入門)1

适合小白入門的mysql教程(半小時MySQL基礎入門)2


領取方式

這份基礎的MySQL思維導圖怎麼領取呢?

1.請在評論區評論 點贊 轉發

2.點擊關注,關注本頭條号

3.進入頭條号主頁面,右上角有私信功能,私信小編:MySQL入門圖

同時希望大家多多轉發分享給更多的朋友哦!

覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的内容,感興趣的朋友可以關注下~

适合小白入門的mysql教程(半小時MySQL基礎入門)3

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
全國人均gdp最高縣級市
全國人均gdp最高縣級市
一般我們說起富裕的縣級市,人們都會想到東南沿海地區的江蘇浙江和廣東的一些城市,根本不會想到西部地區有特别富裕的城市。但偏偏有這樣一個縣級市,2018年人均GDP達到27萬,超過江蘇昆山市(人均GDP23萬多)、江陰市(人均GDP23萬多)等...
2025-05-24
每日一題易錯點
每日一題易錯點
每日一題易錯點?1.下列叙述中錯誤的是:A)算法的時間複雜度與實現算法過程中的具體細節無關,接下來我們就來聊聊關于每日一題易錯點?以下内容大家不妨參考一二希望能幫到您!每日一題易錯點1.下列叙述中錯誤的是:A)算法的時間複雜度與實現算法過程...
2025-05-24
宋佳穿搭粉色夾克
宋佳穿搭粉色夾克
在很多的搭配中,肯定是少不了外套的身影,因為這一款服裝的效果實在是太好了,拉上拉鍊就是很不錯的上衣,披在上就是一款獨特的披風,這樣子的穿搭效果給整體的搭配帶來了額外的魅力補充,所以自然會選擇它,當然外套的風格也有很多,從風衣到沖鋒衣,都很有...
2025-05-24
網頁内容禁止複制怎麼辦
網頁内容禁止複制怎麼辦
網頁禁止複制粘貼怎麼辦?教你六招輕松搞定經常在網上遇到一些無法複制的文章,那麼問題來了,有什麼辦法可以繞開這種限制,将網頁内容輕松下載回來呢?其實既然是網頁内容,那麼意味着HTML代碼是公開的,将相關文本複制下來根本不是問題,一起來看看要怎...
2025-05-24
微信聊天記錄可以同步嗎
微信聊天記錄可以同步嗎
不知道大家發現了沒有,之前微信是支持多設備之間聊天消息同步的,後來這個功能又莫名其妙地消失了。這就導緻在手機端和PC端微信沒有同時登錄的情況下,聊天記錄無法同步,即使在登錄前勾選了「同步最近消息」選項也沒用。意味着當我們需要查找聊天消息時,...
2025-05-24
Copyright 2023-2025 - www.tftnews.com All Rights Reserved