明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

MySQL中的基礎(chǔ)知識

[摘要]清屏:clsMySQL基礎(chǔ)啟動MySQL net start mysql關(guān)閉MySQL net stop mysql登錄 mysql -uroot -p退出 mysql>ex...
清屏:cls

MySQL基礎(chǔ)

啟動MySQL net start mysql

關(guān)閉MySQL net stop mysql

登錄 mysql -uroot -p

退出 mysql>exit;

mysql>quit;

mysql>\p;

顯示當(dāng)前服務(wù)器版本 SELECT VERSION();

顯示當(dāng)前時間 SELECT NOW();

顯示當(dāng)前用戶 SELECT USER();

MySQL默認(rèn)的端口號是:3306

MySQL超級用戶是:root

創(chuàng)建數(shù)據(jù)庫:CREATE DATABASE

修改數(shù)據(jù)庫:ALTER DATABASE

刪除數(shù)據(jù)庫:DROP DATABASE

數(shù)據(jù)類型

整型:TINYINT SMALLINT MEDIUMINT INT BIGINT

浮點(diǎn)型: FLOAT[(M,D)] DOUBLE[(M,D)] M為數(shù)字總位數(shù),D為小數(shù)點(diǎn)后面的位數(shù)

字符型:VERCHAR(M)

數(shù)據(jù)表

查看有什么數(shù)據(jù)庫:SHOW DATABASES;

打開數(shù)據(jù)庫:USE 數(shù)據(jù)庫名稱

查看當(dāng)前數(shù)據(jù)庫:SELECT DATABASES;

創(chuàng)建數(shù)據(jù)表:CREATE TABLE[IF NOT EXISTS]table_name(

ageTINYINT UNSGINED(無符號位),

......

)

查看數(shù)據(jù)表列表:SHOW TABLES[FORM db_name];使用form可以查看別的數(shù)據(jù)庫中的表

查看數(shù)據(jù)表結(jié)構(gòu):SHOW COLUMNS FORM tbl_name;

插入記錄;INSERT [INTO] tbl_name[(coi_name,...)] VALUES(VAL,...);

查找記錄:SELECT expr,...FORM tbl_name(WHERE .....);

空值與非空

CREATE TABLE[IF NOT EXISTS]table_name(

age1 TINYINT UNSGINED(無符號位) NOT NULL,

age2 TINYINT UNSGINED(無符號位) NULL,//默認(rèn)是可以為空

......

)

自動編號AUTO_INCREMENT

1自動編號,且必須與主鍵組合使用

2默認(rèn)情況下,起始值為1,增量為1

主鍵PRIMARY KEY

1每張表只能有一個主鍵

主鍵保證記錄的唯一性

主鍵自動為NOT NULL

CREATE TABLE[IF NOT EXISTS]table_name(

age1 TINYINT UNSGINED(無符號位) PRIMARY KEY,

......

)

唯一約束UNIQUE KEY

默認(rèn)約束:DEFAULT

更新記錄UPDATE

語法:UPDATE tb_name SET age=age+10 WHERE name="chaihuo";

刪除記錄FELETE

語法:DELETE FORM tb_name WHERE name="chaihuo";

查詢結(jié)果分組GROUP BY

語法:SELECT sex FORM users BY sex;

HCAING分組條件

語法:SELECT sex,age FORM users BY sex HAVING age>35;

主要:此時HAVING后面只有兩種情況1)聚合函數(shù)2)在select后面

對查詢結(jié)果進(jìn)行排序ORDER BY

語法:SELECT * FORM users ORDER BY id DESC;

運(yùn)算符和函數(shù)

字符運(yùn)算符

CONCAT()字符連接

CONCAT_WS()使用指定的分隔符進(jìn)行字符連接

FORMAT()數(shù)字格式化

LOWER()UPPER()轉(zhuǎn)換成小/大寫字母

LEFT() RIGHT()獲取左/右側(cè)字符

LENGTH()獲取字符串長度

SUBSTRING()字符串截取

[NOT] LIKE 模式匹配

REPLACE()字符串替換

數(shù)值運(yùn)算符與函數(shù)

CEIL() 進(jìn)一取整

DIV 整數(shù)除法

FLOOR()舍一取整

MOD 取余數(shù)

POWER() 冪運(yùn)算

ROUND()四舍五入

比較運(yùn)算符與函數(shù)

[NOT] BETWEEN...AND... [NOT]IN() IS[NOT]NULL

信息函數(shù)

CONNECTION_ID() 連接id

DATEBASE()當(dāng)前數(shù)據(jù)庫

LAST_INSERT_ID()最后插入記錄的Id號

USER()當(dāng)前用戶

VERSON()版本信息

聚合函數(shù)

AVG()平均值

COUNT()計(jì)數(shù)

MAX() MIN() SUM()

加密函數(shù)

MD5()信息摘要算法

PASSWORD()密碼算法

子查詢和連接

將查詢結(jié)果寫入數(shù)據(jù)表

INSERT[INTO] tbl_name[(col_name,...)] SELECT...

例子:INSERT tdb_goods(cate_name) SELECT good_cake FORM table GROUP BY good_cake;

多表更新

UPDATE table1 INNER JOIN table2 ON table1_name=table2_name SET table1_id=table2_di;

CREATE...SELECT

創(chuàng)建數(shù)據(jù)表同時將查詢結(jié)果寫入到數(shù)據(jù)表

CREATE TABLE table_name [(create_definine)] select_statement

例:CREATE TABLE table1(

id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,

name VARCHAR(20) NOT NULL)

SELECT SELECT good_cake FORM table GROUP BY good_cake;

)

存儲引擎

通過修改MySQL配置文件實(shí)現(xiàn)

1)-ddfault-storage-engine=engine

2)通過創(chuàng)建數(shù)據(jù)表命令實(shí)現(xiàn)

CREATE TABLE[IF NOT EXISTS]table_name(

age1 TINYINT UNSGINED(無符號位) NOT NULL,

age2 TINYINT UNSGINED(無符號位) NULL,//默認(rèn)是可以為空

......

)ENGINE=engine;

通過修改數(shù)據(jù)表命令實(shí)現(xiàn)

-ALTER TABLE table_name ENGINE[=]engine_name;

存儲引擎

MyISAM:存儲現(xiàn)在可達(dá)256TB,支持索引。表級鎖定,數(shù)據(jù)壓縮

InnoDB:存儲限制為64TB,支持事務(wù)和索引。鎖顆粒為行鎖

以上就是MySQL中的基礎(chǔ)知識的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識。