適合小白入門的mysql教程(半小時MySQL基礎入門)
2023-05-27 05:52:54 1
概述這篇文章主要針對剛入門的開發,一般半個小時是可以學完的,當然要理解的話估計不止30分鐘,對於初學者來說只需滿足自己需求可以增刪改查等簡易的維護即可。
下面介紹下MySQL的基礎方面內容。
一、開始使用MySQL 為關係型資料庫(Relational Database Management System),一個關係型資料庫由一個或數個表格組成, 表格一般包括以下:
表頭(header): 每一列的名稱;列(col): 具有相同數據類型的數據的集合;行(row): 每一行用來描述某個人/物的具體信息;值(value): 行的具體信息, 每個值必須與該列的數據類型相同;鍵(key): 表中用來識別某個特定的人\物的方法, 鍵的值在當前列中具有唯一性。二、登錄MySQLmysql -h 127.0.0.1 -u 用戶名 -pmysql -D 所選擇的資料庫名 -h 主機名 -u 用戶名 -p
三、創建資料庫對於表的操作需要先進入庫use 庫名;
-- 創建一個名為 samp_db 的資料庫,資料庫字符編碼指定為 utf8create database samp_db character set utf8;drop database samp_db; -- 刪除 庫名為samp_db的庫show databases; -- 顯示資料庫列表。use samp_db; -- 選擇創建的資料庫samp_dbshow 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=utf8COMMENT='用戶表信息';
數據類型的屬性解釋
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的 查詢出來,只顯示idSELECT 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 = shanghaiINSERT INTO Persons (LastName, Address) VALUES ('JSLite', 'shanghai');-- 向表 meeting 插入 欄位 a=1 和欄位 b=2INSERT 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思維導圖怎麼領取呢?
1.請在評論區評論 點讚 轉發
2.點擊關注,關注本頭條號
3.進入頭條號主頁面,右上角有私信功能,私信小編:MySQL入門圖
同時希望大家多多轉發分享給更多的朋友哦!
覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~
,