【計(jì)算機(jī)本科補(bǔ)全計(jì)劃】Mysql 學(xué)習(xí)小計(jì)(1)

正文之前

以后是要做大數(shù)據(jù)的人,如果連結(jié)構(gòu)化的數(shù)據(jù)庫(kù)都不會(huì)的話,那豈不是笑死人?所以果斷靠著當(dāng)年興趣盎然的時(shí)候?qū)W的那點(diǎn)基礎(chǔ)來(lái)復(fù)習(xí)一下,發(fā)現(xiàn)果然學(xué)過(guò)一遍再來(lái)復(fù)習(xí)那基本就是高中學(xué)一段內(nèi)容看書與翻書的區(qū)別,當(dāng)文字顯現(xiàn)剎那,內(nèi)心就浮出這個(gè)命令的用法與局限,很爽的有木有?

正文


Mysql 連接(登錄):

[root@host]# mysql -u root -p
Enter password:******

Mysql 退出(斷開(kāi)連接):

mysql> exit
Bye

Mysql 創(chuàng)建數(shù)據(jù)庫(kù):

[root@host]# mysqladmin -u root -p create test
Enter password:******

或者是登陸之后:

create database test
create database if not exists test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

逆推即可得到刪除數(shù)據(jù)庫(kù):

[root@host]# mysqladmin -u root -p drop test
Enter password:******
drop database RUNOOB

Mysql 選擇數(shù)據(jù)庫(kù)進(jìn)行操作:

[root@host]# mysql -u root -p
Enter password:******
mysql> use RUNOOB;
Database changed
mysql>

Mysql在數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)表:

create table table_name (column_name column_type);

具體的示例如:

create table if not exists `runoob_tbl`(
   `runoob_id` INT UNSIGNED AUTO_INCREMENT,
   `runoob_title` VARCHAR(100) NOT NULL,
   `runoob_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
//那些`是為了標(biāo)注column 而特意加的,實(shí)操的時(shí)候不需要的,看圖
  • 如果你不想字段為 NULL 可以設(shè)置字段的屬性為 NOT NULL, 在操作數(shù)據(jù)庫(kù)時(shí)如果輸入該字段的數(shù)據(jù)為NULL ,就會(huì)報(bào)錯(cuò)。

  • AUTO_INCREMENT定義列為自增的屬性,一般用于主鍵,數(shù)值會(huì)自動(dòng)加1。

  • PRIMARY KEY關(guān)鍵字用于定義列為主鍵。 您可以使用多列來(lái)定義主鍵,列間以逗號(hào)分隔。

  • ENGINE 設(shè)置存儲(chǔ)引擎,CHARSET 設(shè)置編碼。


Mysql 刪除數(shù)據(jù)表:

drop table table_name ;

Mysql 插入數(shù)據(jù):

insert INTO table_name ( field1, field2,...fieldN )  VALUES  ( value1, value2,...valueN );

Mysql 查詢數(shù)據(jù):

select column_name,column_name from table_name  [where Clause] 
 [OFFSET M ][LIMIT N]
  • 查詢語(yǔ)句中你可以使用一個(gè)或者多個(gè)表,表之間使用逗號(hào)(,)分割,并使用where語(yǔ)句來(lái)設(shè)定查詢條件。

  • select 命令可以讀取一條或者多條記錄。

  • 你可以使用星號(hào)(*)來(lái)代替其他字段,select語(yǔ)句會(huì)返回表的所有字段數(shù)據(jù)

  • 你可以使用 where 語(yǔ)句來(lái)包含任何條件。

  • 你可以通過(guò)OFFSET指定select語(yǔ)句開(kāi)始查詢的數(shù)據(jù)偏移量。默認(rèn)情況下偏移量為0。偏移量的意思就是說(shuō)前面查詢的多少條直接跳過(guò),從偏移量設(shè)置的那一條記錄開(kāi)始查詢。

  • 你可以使用 LIMIT 屬性來(lái)設(shè)定返回的記錄數(shù)。就限定了最后需要返回多少條數(shù)據(jù),配合offset可以很好的優(yōu)化mysql的使用。


Mysql where 是個(gè)神器:

select field1, field2,...fieldN from table_name1, table_name2...
[where condition1 [and [or]] condition2.....
  • 查詢語(yǔ)句中你可以使用一個(gè)或者多個(gè)表,表之間使用逗號(hào), 分割,并使用where語(yǔ)句來(lái)設(shè)定查詢條件。

  • 你可以在 where 子句中指定任何條件。

  • 你可以使用 and 或者 or 指定一個(gè)或多個(gè)條件。

  • where 子句也可以運(yùn)用于 SQL 的 delete 或者 update 命令。

  • where 子句類似于程序語(yǔ)言中的 if 條件,根據(jù) MySQL 表中的字段值來(lái)讀取指定的數(shù)據(jù)。

PS:MySQL 的 where 子句的字符串比較是不區(qū)分大小寫的。 你可以使用 BINARY 關(guān)鍵字來(lái)設(shè)定 where 子句的字符串比較是區(qū)分大小寫的。

mysql> select * from runoob_tbl where BINARY runoob_author='runoob.com';

Mysql update 查詢

update table_name SET field1=new-value1, field2=new-value2
[where Clause]
  • 你可以同時(shí)更新一個(gè)或多個(gè)字段。

  • 你可以在 where 子句中指定任何條件。

  • 你可以在一個(gè)單獨(dú)表中同時(shí)更新數(shù)據(jù)。


Mysql delete 語(yǔ)句刪除某條記錄

delete from table_name [where Clause]
  • 如果沒(méi)有指定 where 子句,MySQL 表中的所有記錄將被刪除。

  • 你可以在 where 子句中指定任何條件。

  • 您可以在單個(gè)表中一次性刪除記錄。


Mysql like 語(yǔ)句進(jìn)行模糊搜索:

  • 我們知道在 MySQL 中使用 SQL select 命令來(lái)讀取數(shù)據(jù), 同時(shí)我們可以在 select 語(yǔ)句中使用 where 子句來(lái)獲取指定的記錄。

  • where 子句中可以使用等號(hào) = 來(lái)設(shè)定獲取數(shù)據(jù)的條件,如 " tableid = 3"。

  • 但是有時(shí)候我們需要獲取tablename字段含有 "able" 字符的所有記錄,這時(shí)我們就需要在 where 子句中使用 SQL like 子句。

  • SQL like 子句中使用百分號(hào) %字符來(lái)表示任意字符,類似于UNIX或正則表達(dá)式中的星號(hào) 。

  • 如果沒(méi)有使用百分號(hào) %, like 子句與等號(hào) = 的效果是一樣的。

select field1, field2,...fieldN  from table_name where field1 like condition1 [and [or]] filed2 = 'somevalue'

MySQL UNION 操作符

select expression1, expression2, ... expression_n from tables  [where conditions]  
UNION [ALL | DISTINCT]  
select expression1, expression2, ... expression_n from tables  [where conditions];
  • expression1, expression2, ... expression_n: 要檢索的列。

  • tables: 要檢索的數(shù)據(jù)表。

  • where conditions: 可選, 檢索條件。

  • DISTINCT: 可選,刪除結(jié)果集中重復(fù)的數(shù)據(jù)。默認(rèn)情況下 UNION 操作符已經(jīng)刪除了重復(fù)數(shù)據(jù),所以 DISTINCT 修飾符對(duì)結(jié)果沒(méi)啥影響。

  • ALL: 可選,返回所有結(jié)果集,包含重復(fù)數(shù)據(jù)。


正文之后

告一段落,過(guò)幾天繼續(xù),今天先學(xué)到這兒,想必大家都看得出來(lái)了。這個(gè)教程來(lái)自Mysql - 菜鳥(niǎo)教程 ,這個(gè)網(wǎng)站真的是個(gè)好東西,太喜歡了!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 什么是數(shù)據(jù)庫(kù)? 數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序。每個(gè)數(shù)據(jù)庫(kù)具有一個(gè)或多個(gè)不同的API,用于創(chuàng)建,訪問(wèn),管理...
    chen_000閱讀 4,143評(píng)論 0 19
  • SQL與MySQL簡(jiǎn)介 數(shù)據(jù)庫(kù)基礎(chǔ) 從SQL的角度來(lái)看,數(shù)據(jù)庫(kù)就是一個(gè)以某種有組織的方式存儲(chǔ)的數(shù)據(jù)集合。我們可以采...
    heming閱讀 3,562評(píng)論 1 8
  • 正文之前 想到自己每天中午還要玩一小時(shí)手機(jī),就自責(zé)不已,今天看成甲的好好學(xué)習(xí)一書,頗有收獲,晚上寫給大伙看,現(xiàn)在還...
    張照博閱讀 824評(píng)論 2 12
  • 數(shù)據(jù)庫(kù)入門 數(shù)據(jù)庫(kù): 保存有組織的數(shù)據(jù)的容器(通常是一個(gè)文件或一組文件).數(shù)據(jù)庫(kù)軟件應(yīng)該稱為 DBMS(DataB...
    Mjericho閱讀 574評(píng)論 0 0
  • 我想我該走了 或遠(yuǎn),或近 我想,我想好了 就剩句再見(jiàn)了 我想,是夢(mèng)近了 最怕,是夢(mèng)醒了 ???
    陋質(zhì)何堪受殷情閱讀 168評(píng)論 0 0

友情鏈接更多精彩內(nèi)容