MySQL基礎(chǔ)之STRAIGHT JOIN用法簡介
創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)哈密,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
引用 mysql官方手冊 的說法:
翻譯過來就是:STRAIGHT_JOIN與 JOIN 類似,只不過左表始終在右表之前讀取。這可用于聯(lián)接優(yōu)化器以次優(yōu)順序處理表的那些(少數(shù))情況。
注意:總的來說STRAIGHT_JOIN只適用于內(nèi)連接,因為left join、right join已經(jīng)知道了哪個表作為驅(qū)動表,哪個表作為被驅(qū)動表,比如left join就是以左表為驅(qū)動表,right join反之,而STRAIGHT_JOIN就是在內(nèi)連接中使用,而強制使用左表來當驅(qū)動表,所以這個特性可以用于一些調(diào)優(yōu),強制改變mysql的優(yōu)化器選擇的執(zhí)行計劃
ok,寫個例子進行實驗
創(chuàng)建部門表dept
創(chuàng)建員工emp表
先用inner join的看看
查看執(zhí)行計劃,可以看出是以dept表為驅(qū)動表的
ps:對于執(zhí)行計劃的知識可以參考我之前博客: MySQL調(diào)優(yōu)之Explain執(zhí)行計劃學習筆記
用STRAIGHT_JOIN連接的寫法:
從執(zhí)行計劃可以看出強制用emp表做驅(qū)動表了,而且不走索引,全表掃描了,之前的還是ref,是有走索引的
最簡單的創(chuàng)建 MySQL 數(shù)據(jù)庫的語句
在 MySQL 中創(chuàng)建一個名為 test_db 的數(shù)據(jù)庫。在 MySQL 命令行客戶端輸入 SQL 語句CREATE DATABASE test_db;即可創(chuàng)建一個數(shù)據(jù)庫,輸入的 SQL 語句與執(zhí)行結(jié)果如下。
mysql CREATE DATABASE test_db;
Query OK, 1 row affected (0.12 sec);
“Query OK, 1 row affected (0.12 sec);”提示中,“Query OK”表示上面的命令執(zhí)行成功,“1 row affected”表示操作只影響了數(shù)據(jù)庫中一行的記錄,“0.12 sec”則記錄了操作執(zhí)行的時間。
若再次輸入CREATE DATABASE test_db;語句,則系統(tǒng)會給出錯誤提示信息,如下所示:
mysql CREATE DATABASE test_db;
ERROR 1007 (HY000): Can't create database 'test_db'; database exists
提示不能創(chuàng)建“test_db”數(shù)據(jù)庫,數(shù)據(jù)庫已存在。MySQL 不允許在同一系統(tǒng)下創(chuàng)建兩個相同名稱的數(shù)據(jù)庫。
可以加上IF NOT EXISTS從句,就可以避免類似錯誤,如下所示:
mysql CREATE DATABASE IF NOT EXISTS test_db;
Query OK, 1 row affected (0.12 sec)
首先要創(chuàng)建庫 ;
mysql CREATE DATABASE?test1;
mysql use test1;
2.創(chuàng)建表
mysql CREATE TABLE tab1(
- id INT? NOT NULL AUTO_INCREMENT,
- name VARCHAR(32) NOT NULL,
- countrycode VARCHAR(40) NOT NULL,
- population VARCHAR(40) NOT NULL,
- gnp VARCHAR(32) NOT NULL,
- language VARCHAR(32) NOT NULL,
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
工具/材料
Navicat
01
我們可以利用Navicat這個客戶端工具來創(chuàng)建表。
打開Navicat,連接上要操作的數(shù)據(jù)庫,點擊打開這個庫。
02
打開后,在右邊的視圖上就可以看到這個庫里所有的表了。
03
在這里右鍵點擊空白的地方,點擊菜單里的‘New Table’
04
點擊后,就會創(chuàng)建一個新的表了,我們在這里設(shè)置表的字段,比如設(shè)置了二個字段,id,和name,
05
按下快捷鍵ctrl+s就會保存這個新建的表,先輸入表的名字,點擊ok按鈕就行了。
06
在表視圖里就可以看到剛才建好的表了。
1.打開MYSQL,如下。
2.首先必須在一個數(shù)據(jù)庫里面工作,所以你必須創(chuàng)建一個數(shù)據(jù)庫。利用create database +(數(shù)據(jù)庫名稱),來出創(chuàng)建數(shù)據(jù)庫。
3.創(chuàng)建好了必須使用它,利用 use +(數(shù)據(jù)庫名稱) 語句。
4.你在這里可以熟悉一下顯示數(shù)據(jù)庫的語句,查看自己有多少個已經(jīng)創(chuàng)建的數(shù)據(jù)庫。
5.接著可以創(chuàng)建表格了。利用create table +(表格名稱)。
6.如上圖 如果顯示說 'Query ok',說明已經(jīng)創(chuàng)建好啦表格。
注意事項:
注意創(chuàng)建表格過程中必須是英文輸入法,中文和英文的逗號,括號和引號都必須是英文的。
還必須注意期間的格式,這都是能否創(chuàng)建成功的基準。
id int 這一句 int 的約束可以省略。一般的形式是 int (100),100是你分配給這一類型的存儲空間大小。
————————————————
版權(quán)聲明:本文為CSDN博主「machaoo」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接: