深入淺出mysql(基礎篇)

2021-10-10 13:59:37 字數 2810 閱讀 8082

目錄

1. mysql的安裝與配置

2. sql基礎

3.mysql的資料型別

4.運算子

5.常用函式

5.1字串函式

5.2 數值函式

5.3日期和時間函式

5.4.流程函式

5.5.其他函式

6.圖形化工具的使用

可以使用netstat -nlp來檢視埠狀態

常用語句關鍵字

create,drop,alter;insert,delete,update,select;grant,revoke;

desc可以檢視表定義,要看更全面的資訊,可以使用show create tabel table_name;

整型,有乙個autoincrement的屬性,一般從1開始,乙個表最多只能有乙個,需要not null,定義為primary key或者unique;

decimal 定點小數,與浮點小數相對應;

timestamp,一張表只能有乙個預設為current_timestamp;多個的話預設值是0;會受時區的影響,表示的範圍有限,使1970-1-1 到2038的某一天;

char,檢索時會自動刪除尾部的空格;

enum,插入不在範圍時,不報錯,預設使用第乙個值;

set,集合

算數:+,-,*,/,%;

比較:>,<=,<>,!=,>=,<=,between,in,is null,is not null,like,regexp或者rlike(正規表示式匹配);

邏輯:not(!),and(&&),or(||),xor

位運算:&,|,^,~,<<,>>。左右移可以代替冪運算等會提公升效能。

concat(s1,s2,……sn),連線s1,s2……sn為乙個字串;

insert(str,x,y,instr),將字串str從第x位置開始,y個字元長度的字串替換為字串instr;

lowwer(str),變小寫;

upper(str),變大寫;

left(str,x),返回str最左邊的x個字元;

right(str,x),返回右邊;

lpad(str,,n,pad),使用字串pad對str最做左邊填充,直到長度為n個字元;

rpad(str,n,pad),右邊填充;

ltrim,rtrim,trim,去除左邊,右邊,或者全部空格。

repeat(str,x),str重複x次

replace(str,a,b) b代替str中的所有a;

strcmp(s1,s2),比較

substring(str,y) 返回長度為y的字串

abs(x)

絕對值cell(x)

大於x的最小整數,即向上取整,注意負數的向上

floor(x)

小於x的最小整數,注意負數

mod(x)

x/y的模

rand()

0-1的隨機值

round(x)

x四捨五入有y位小數的值

truncate(x)

x截斷為y位小數的值

利用ceil與rand可生成任意整數,如0-100

ceil(rand()*100)

curdate()

當前日期

curtime()

當期時間

now()

當前日期和時間

unix_timestamp(date)

返回日期date的unix時間戳

from_unixtime()

返回unix時間戳的日期值

week(date)

date是一年中的第幾周

year(date)

date的年份

hour(date)

date的小時值

minute(date)

date的分鐘值

monthname(date)

date的月份名(英文的january這種,不是阿拉伯數字)

date_format(date,fmt)

按fmt格式化date

date_add(date,interval expr type

乙個日期或者時間加上乙個時間間隔的值

datediff(expr,expr2)

之間的天數

用的不多,先記一下吧

if(value,t,f)

如果value為真,返回t,否則返回f

ifnull(value1,value2)

如果value1不為空,返回value1,否則返回value2

case where[value1] then [result1]……else [default] end

value1為真,則返回result1,否則返回default

case [expr] when [value1] then [result1] …… else [default] end

如果expr等於value1,則返回result1,否則返回default

database()

當前資料庫名

version()

當前版本

user()

當前登陸的使用者名稱

inet_aton(ip)

ip位址的數字表示

inet_ntoa(num)

返回數字 代表的ip位址

password(str)

str的加密版本

md5(str)

返回str的md5值

mysql workbench

可以資料建模,在資料庫設計階段,之後還可以直接生成sql語句,以後有需要 可以試下

深入淺出MySQL

說明索引的設計和使用 sql中的安全問題 常用sql技巧 sql優化過程 優化資料庫物件 鎖問題 本站 深入淺出mysql 個人部落格 深入淺出mysql 1 設計索引原則 2 小常識 3 btree索引 1 了解sql執行頻率 使用show session global statusa來獲得伺服器...

MFC深入淺出之基礎篇

引言 mfc是microsoft foundation classes的縮寫,它是建立在windows api之上的c 類庫,目的是使windows程式設計過程更有效率,更符合物件導向的設計思想。一 windows程式設計 windows程式的執行是依靠外部發生的事件來驅動的,即程式不斷等待任何可能...

深入淺出Mysql(四)

大批量插入資料優化 1 對應myisam型別的表,可以通過以下方式快速的匯入大量資料 alter table tablname disable keys loading the data alter table tablname enable keys 這兩個命令用來開啟或者關閉myisam表非唯一...