mysql數(shù)據(jù)庫基礎(chǔ)知識點與操作小結(jié)
本文實例講述了mysql數(shù)據(jù)庫基礎(chǔ)知識點與操作。分享給大家供大家參考,具體如下:
數(shù)據(jù)庫
一、 修改數(shù)據(jù)表
添加一列:
ALTERTABLE tab_name ADD col_name column_defi[FIRST|AFTER col_name];
可以指定新列的位置關(guān)系,位于最開頭(FIRST)或者位于某列之后(AFTER…),否則新列默認位于最后。
添加多列:
ALTERTABLE tab_name ADD(col_name1 column_defi1,col_name2 column_defi2...);
刪除一列:
ALTERTABLE tab_name DROP col_name;
刪除多列或者刪除之后再新增一列,只需在drop col_name之后加逗號,再寫drop/add。
添加約束:
ALTERTABLE tab_name ADD PRIMARY KEY (index_column);
其中primary key可以替換為其他約束UNIQUE、FOREIGN KEY,默認約束為SET DEFAULT。
刪除約束:
ALTERTABLE tab_name DROP {INDEX|KEY} index_name
刪除外鍵:
ALTERTABLE tab_name DROP FOREIGN KEY fkey_name
其中外鍵約束名fkey_name可以通過show create table tab_name;查看constraint項得到,例如
CONSTRAINT `users_ibfk_1` FOREIGN KEY (`pid`) REFERENCES
修改列定義:
ALTERTABLE tab_name MODIFY col_name col_defi;
修改列名稱:
ALTERTABLE tab_name CHANGE old_colname new_name col_defi;
修改數(shù)據(jù)表名稱:
RENAMETABLE old_name TO new_name;
二、 數(shù)據(jù)表操作
插入記錄:
INSERT tab_name[(col_name)] VALUES (val1,val2...)
其中列名可選,如果不設(shè)置列名,默認為對每一列都插入。第二種插入方法:INSERT tab_name SET col_name=val...第三種方法:insert tab_name select…,將查詢結(jié)果插入數(shù)據(jù)表。
更新記錄:
UPDATE tab_name SET col_name=val [WHERE condition];
where條件如果不填,默認對所有記錄進行更新。
刪除記錄:
DELETE FROM tab_name [WHERE condition];
刪除滿足條件的記錄,如不填where,全刪。
查詢記錄:
SELECT col_name1,col_name2... /*選擇需要查詢的列名*/ FROM tab_name/*選擇需要查詢的數(shù)據(jù)表*/ WHERE condition/*查詢條件*/ GROUP BY col_name [ASC|DESC]/*查詢結(jié)果分組*/ HAVING condition/*對查詢分組經(jīng)行篩選*/ ORDER BY col_name[asc|desc]/*對查詢結(jié)果經(jīng)行排序*/ LIMIT [n1,]n2/*返回從n1開始的n2條結(jié)果,不填n1默認從開頭返回*/
三、 子查詢
父查詢與子查詢的連接由比較符號連接,子查詢返回多個結(jié)果時還可以由ANY、ALL對結(jié)果進行修飾。
多表更新:參照另外一個表來更新本表。
內(nèi)連接:INNERJOIN ON join_condition,返回左右兩表中滿足條件的項。
左外連接:LEFTJOIN ON join_condition,返回左表全部與右表中滿足條件的項。
左外連接: RIGHT JOIN ON join_condition,返回右表全部與左表中滿足條件的項。
四、 數(shù)據(jù)庫函數(shù)
|
CONCAT('a','b'…) |
連接a,b多個字符串 |
|
CONCAT_WS('s','a','b'…) |
以s為連接符連接多個字符串 |
|
FORMAT(f,n) |
以n位小數(shù)顯示數(shù)字f |
|
LOWER()/UPPER() |
將內(nèi)容轉(zhuǎn)換為小/大寫 |
|
LEFT/RIGHT(‘s',n) |
獲取字符串左邊/右邊前n個字符 |
|
LENGTH() |
獲取字符串長度 |
|
LTRIM/RTRIM/TRIM() |
去除字符串左邊/右邊/兩邊空格 |
|
REPLACE(‘s','a','b') |
將字符串s中的a字符替換為b |
|
SUBSTRING('s',n,e) |
截取字符串從第n位開始的e個字符 |
|
IS NULL |
判空 |
|
n IN(a,b,c…) |
判斷n是否在列出的值中 |
|
n BETWEEN a AND b |
判斷n是否在a到b之間 |
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
- php基礎(chǔ)之連接mysql數(shù)據(jù)庫和查詢數(shù)據(jù)
- PHP連接和操作MySQL數(shù)據(jù)庫基礎(chǔ)教程
- Mysql入門基礎(chǔ) 數(shù)據(jù)庫創(chuàng)建篇
- PHP5 操作MySQL數(shù)據(jù)庫基礎(chǔ)代碼
- mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫基礎(chǔ)
- MySQL數(shù)據(jù)庫基礎(chǔ)命令大全(收藏)
- 很全面的Mysql數(shù)據(jù)庫、數(shù)據(jù)庫表、數(shù)據(jù)基礎(chǔ)操作筆記(含代碼)
- mysql 數(shù)據(jù)庫基礎(chǔ)筆記
- python 專題九 Mysql數(shù)據(jù)庫編程基礎(chǔ)知識
- MySQL數(shù)據(jù)庫基礎(chǔ)入門之常用命令小結(jié)
- MySQL數(shù)據(jù)庫基礎(chǔ)篇之入門基礎(chǔ)命令小結(jié)
- MySql數(shù)據(jù)庫基礎(chǔ)知識點總結(jié)
相關(guān)文章
MYSQL查看時區(qū)并設(shè)置時區(qū)的實現(xiàn)示例
本文主要介紹了MYSQL查看時區(qū)并設(shè)置時區(qū)的實現(xiàn)示例,包括查看全局和會話時區(qū)設(shè)置,設(shè)置全局和會話時區(qū)為東八區(qū),具有一定的參考價值,感興趣的可以了解一下2025-03-03
Mysql逗號拼接字符串的關(guān)聯(lián)查詢以及統(tǒng)計問題
有時為了數(shù)據(jù)庫簡潔,存放數(shù)據(jù)的時候,某一字段采用逗號隔開的形式進行存儲,下面這篇文章主要給大家介紹了關(guān)于Mysql逗號拼接字符串的關(guān)聯(lián)查詢以及統(tǒng)計問題的相關(guān)資料,需要的朋友可以參考下2023-03-03
解決MySQL讀寫分離導致insert后select不到數(shù)據(jù)的問題
這篇文章主要介紹了解決MySQL讀寫分離導致insert后select不到數(shù)據(jù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
MySQL性能優(yōu)化 出題業(yè)務(wù)SQL優(yōu)化
根據(jù)用戶的作答結(jié)果出練習卷,題目的優(yōu)先級為:未做過的題目>只做錯的題目>做錯又做對的題目>只做對的題目。2010-08-08
使用MySQL Workbench構(gòu)建ER圖的詳細教程
ER圖又稱實體-聯(lián)系圖(Entity Relationship Diagram),提供了表示實體類型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型,MySQL?Workbench是一個強大的數(shù)據(jù)庫設(shè)計工具,提供了便捷的數(shù)據(jù)導入導出功能,本文介紹了使用MySQL Workbench構(gòu)建ER圖的詳細教程2024-06-06

