日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql中column的用法_关于MySQL的一些用法

發布時間:2023/12/18 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql中column的用法_关于MySQL的一些用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于MySQL的一些用法

1.DBMS

1.1基于共享文件系統的DBMS

例如:Microsoft Access和FileMaker

用于桌面用途,通常不用于高端或更關鍵的應用。

1.2基于客戶機-服務器的DBMS

例如:MySQL、Oracle、Microsoft SQL Server

服務器:負責所有數據訪問和處理的一個軟件,這個軟件運行在稱為數據庫服務器的計算機上。與數據文件打交道的只有服務器軟件,關于數據、數據添加、刪除和數據更新的所有請求都由服務器軟件完成。

客戶機:與用戶打交道的軟件,客戶機通過網絡提交請求給軟件服務器,服務器軟件處理請求,把結果送到客戶機軟件。

2.Mysql administrator

圖形交互客戶機,簡化MySQL服務器管理

提示輸入服務器和登錄信息(允許保存服務器定義供以后使用),然后顯示允許選擇不同視圖的圖標:

Server Information(服務器信息)顯示客戶機和被連接的服務器的狀態和版本信息;

Service Control(服務控制)允許啟動和停止MySQL以及指定服務器特性;

User Administration(用戶管理)用來定義MySQL用戶、登錄和權限;

Catalogs(目錄)列出可用的數據庫并允許創建數據庫和表。

3.如何使用mysql

3.1選擇數據庫

#選擇數據庫test

USE test;

3.2顯示數據庫數據

#顯示所有的數據庫

SHOW DATABASE;

#顯示test數據庫的tables

USE test;

SHOW TABLES;

#顯示test數據庫中table1表的columns

USE test;

SHOW COLUMNS FROM table1;

#或者直接用下面的語句操作顯示columns

USE test;

DESCRIBE table1;

#顯示服務器狀態信息

SHOW STATUS;

#顯示創建特定數據庫

SHOW CREATE DATABASE;

#顯示創建特定表

SHOW CREATE TABLE;

#顯示授權用戶

SHOW GRANTS;

#顯示服務器錯誤或警告信息

SHOW ERRORS;

SHOW WARNINGS;

#查看所有的show語句

HELP SHOW;

3.3檢索數據

#注意多條sql語句是以;結尾的,且sql語句不區分大小寫

#可以考慮所有SQL關鍵字用大寫,而對所有列和表名使用小寫

USE test;

#檢索test數據庫table1表的column1列

SELECT column1

FROM table1;

#檢索多個列

SELECT column1,column2,column3

FROM table1;

#檢索所有列

SELECT *

FROM table1;

#檢索不同的行

#注意不能部分使用DISTINCT,例如兩個column,兩個中的任何一個不同都會顯示出來

SELECT DISTINCT column1

FROM table1;

#注意檢索出來的第1行為行0

#限制結果,顯示前5行

SELECT column1

FROM table1

LIMIT 5;

#指定檢索開始的行和行數,從行5開始的5行

SELECT column1

FROM table1

LIMIT 5,5;

#或者下面

#從行5開始取5行

LIMIT 5 OFFSET 5

#使用完全限定的表明和列名

SELECT table1.column1

FROM test.table1;

3.4排序檢索數據

#ORDER BY子句位置: 位于FROM子句后,LIMIT子句前,如果有WHERE子句,位于WHERE之后

USE test;

#按照column1列排序

#按照多個列排序,逗號隔開就可以,但有排序優先性

#默認升序(ASC)排列

SELECT *

FROM table1

ORDER BY column1;

#指定降序排列

SELECT *

FROM table1

ORDER BY column1 DESC;

#再多個列上降序排列,需要對每個列指定DESC

#混合排序,column1降序排列,再對column2排序

SELECT *

FROM table1

ORDER BY column1 DESC,column2;

3.5過濾數據

#MySQL執行匹配時不區分大小寫

#條件過濾檢索

USE test;

#顯示column1=1的數據

SELECT *

FROM table1

WHERE column1=1;

#WHERE子句操作符

# =、<>、!=、、>=、BETWEEN AND

#空值檢查

WHERE column1 IS NULL;

3.6數據過濾

#優先處理AND操作符,復雜操作使用括號明確分組

USE test;

#AND操作符,同時滿足多個條件

SELECT *

FROM table1

WHERE column1=1 AND column2<=2;

#OR操作符,滿足其中的一種條件

SELECT *

FROM table1

WHERE column1=1 OR column2<=2;

#IN操作符

#適用情況:在使用長的合法選項清單時;計算次序容易管理;執行速度塊;可以包含其他SELECT語句

SELECT *

FROM table1

WHERE column1 IN(1,2);

#NOT操作符

#匹配column1不等于1和2的

SELECT *

FROM table1

WHERE column1 NOT IN(1,2);

3.7通配符過濾

#LIKE操作符

USE test

#百分號(%)通配符,區分大小寫,可以匹配0個字符,但是不能匹配NULL

#檢索任意以he起頭的詞

#搜索模式'he%'

SELECT *

FROM table1

WHERE column1 LIKE 'he%';

#多個通配符,任意位置包含hello的

SELECT *

FROM table1

WHERE column1 LIKE '%hello%';

#下劃線(_)通配符

#只匹配單個字符(不能多也不能少)

SELECT *

FROM table1

WHERE column1 LIKE '_ hello';

#輸出:

column1????? column2

1???????? a hello

2???????? b hello

#通配符技巧

#所花費時間長

#優先選擇其他操作達到目的

#盡量不要放在搜索開始處

3.8正則表達式進行搜索

#用途:

#提取電話號碼;查找名字中有數字的;

#文本塊中找到所有重復單詞;替換頁面中所有URL為這些URL的上實際HTML鏈接

#不區分大小寫,想要區分使用BINARY關鍵字:WHERE column1 REGEXP BINARY 'hello .00'

USE test;

#檢索column1包含文本100的所有行

SELECT *

FROM table1

WHERE column1 REGEXP '100'

ORDER BY column1;

#.是正則表達式語言中一個特殊的字符,表達匹配任意一個字符

SELECT column1

FROM table1

WHERE column1 REGEXP '.00';

輸出:

column1

a hello 100

b hello 200

#LIKE '100'與REGEXP '100'的區別:

LIKE匹配整個列,對應列值完全相等才會匹配,REGEXP則是包含就匹配

#進行OR匹配

SELECT column1

FROM table1

WHERE column1 REGEXP '100|200'

ORDER BY column1 DESC;

輸出:

column1

hello 200

hello 100

#匹配幾個字符之一

#正則表達式[123]表示:匹配1或2或3

#[]是另一種形式的OR語言

SELECT column1

FROM table1

WHERE column1 REGEXP '[123] hello'

ORDER BY column1 DESC;

輸出:

column1

2 hello z

1 hello s

#使用'1|2|3 hello'

#這里的意思是:'1'或'2'或'3 hello'

SELECT column1

FROM table1

WHERE column1 REGEXP '1|2|3 hello'

ORDER BY column1;

輸出:

1 hello z

2 hello s

world 100

world 200

#否定字符集匹配

SELECT column1

FROM table1

WHERE column1 REGEXP '[^123] hello'

ORDER BY column1 DESC;

#匹配范圍

#[1-3]、[6-9]、[a-z]

SELECT column1

FROM table1

WHERE column1 REGEXP '[1-5] hello'

ORDER BY column1;

輸出:

.5 hello a

1 hello z

2 hello s

#匹配特殊字符

#因為.匹配任意字符,因此每個行都被檢索

#匹配特殊字符必須用\\為前導,\\-表示查找-,\\.表示查找.。

#正則表達式中具有特殊意義的所有字符都必須用\\轉義字符,包括.、|、[]

#\\也用來引用元字符:

\\f??? 換頁

\\n??? 換行

\\r??? 回車

\\t??? 制表

\\v??? 縱向制表

SELECT column1

FROM table1

WHERE column1 REGEXP '\\.'

ORDER BY column1;

3.9創建計算字段

mysql的不同之處:多數DBMS使用+號來實現拼接,mysql則使用concat函數來實現,當把sql語句轉換成mysql語句時一定要記得這個區別

USE test;

#檢索后輸出:column1(column2)這樣的格式

SELECT Concat(column1,'(',column2,')')

FROM table1

ORDER BY column1;

#Concat()需要一個或多個指定的串,各個串之間用逗號分隔

#通過刪除數據右側多余的空格來整理數據

#RTrim()函數去掉右邊的所有空格

SELECT Concat(RTrim(column1),'(',RTrim(column2),')')

FROM table1

ORDER BY column1;

#LTrim()函數去掉左邊的空格,Trim()函數去掉兩邊的空格

#使用別名(alias),一個字段或值的替換名

#用AS關鍵字賦予

SELECT Concat(RTrim(column1),'(',RTrim(column2),')') AS column_title

FROM table1

ORDER BY coulmn1;

#別名用途:重命名包含不符合規定字符的實際表列名;在原來的名字含混或容易誤解時擴充它;有時稱為導出列

#執行算術計算

SELECT column1,column2,column1*column2 AS column_sum

FROM table1;

MySQL算術操作符:

操作符??? 說明

+?????? 加

-?????? 減

*?????? 乘

/?????? 除

#測試計算

SELECT 3*2;

#測試Trim()函數

SELECT Trim(' abc ');

#測試Now()函數,返回當前日期和時間

SELECT Now();

3.10使用數據處理函數

大多數SQL實現支持的函數類型:

用于處理文本串(如刪除或填充值,轉換值為大寫或小寫)的文本函數;

用于在數值數據上進行算術操作(如返回絕對值,進行代數運算)的數值函數;

用于處理日期和時間值并從這些值中提取特定成分(例如,返回兩個日期之差,檢查日期有效性等)的日期和時間函數;

返回DBMS正使用的特殊信息(如返回用戶登錄信息,檢查版本細節)的系統函數

文本處理函數

USE test;

#Upper()將文本轉換為大寫

SELECT column1,Upper(column1) AS column1_upcase

FROM table1

ORDER BY column1;

輸出:

column1?? column1_upcase

abc?? ?????? ABC

def????????? DEF

常用的文本處理函數

函數

說明

Left()

返回串左邊的字符

Length()

返回串的長度

Locate()

找出串的一個子串

Lower()

將串轉換為小寫

LTrim()

去掉串左邊的空格

Right()

返回串右邊的字符

RTrim()

去掉串右邊的空格

Soundex()

返回串的SOUNDEX值

SubString()

返回字串的字符

Upper()

將串轉換為大寫

SOUNDEX:將文本串轉換為發音描述,可以查找出發音類似的不同值

#Sundex()函數

SELECT column1,column2

FROM table1

WHERE Soundex(column1)=Soundex('Y Lie');

輸出:

column1?? column2

Inc????? Y Lee

日期和時間處理函數

#使用Date()函數

SELECT column1,column2

FROM table1

WHERE Date(coulmn_date)='2019-09-02';

#Date()函數返回日期時間的日期

#雖然可能column_date為日期,但最好還是用Date()函數

#Time也同樣類似

#日期格式:yyyy-mm-dd

#時間格式:00:00:00

#檢索2019年9月下的數據

SELECT column1,column2

FROM table1

WHERE Year(coulmn_date)='2019' AND Month(column_date)='9'BETWEEN '2019-09-01' AND '2019-09-30';

#或者下面不用考慮每個月多少天

SELECT column1,column2

FROM table1

WHERE Year(coulmn_date)=2019 AND Month(column_date)=9;

總結

以上是生活随笔為你收集整理的mysql中column的用法_关于MySQL的一些用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。