溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

navicat for mysql基礎知識的示例分析

發(fā)布時間:2021-05-31 12:38:53 來源:億速云 閱讀:227 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹了navicat for mysql基礎知識的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、數(shù)據(jù)庫的操作

1、新建數(shù)據(jù)庫

navicat for mysql基礎知識的示例分析

2、打開數(shù)據(jù)庫

右鍵或者雙擊就可以了。

3、刪除數(shù)據(jù)庫

右鍵–>刪除數(shù)據(jù)庫

4、修改數(shù)據(jù)庫

右鍵–>數(shù)據(jù)庫屬性

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

1、常用的數(shù)據(jù)類型

整數(shù):int
小數(shù):decimal
字符串:varchar
日期時間:datatime

2、約束條件

主鍵:物理上儲存的順序(主鍵唯一、不能為空,所以允許空值的勾得去掉,不然不能新建或保存,還可以選擇下面注釋中得自動遞增節(jié)省工作量)

navicat for mysql基礎知識的示例分析

非空:此字段不允許填空值
唯一:此字段不允許重復

默認值:當不填寫時會使用默認值,如果填寫以填寫的值為止。
外鍵:維護兩個表之間的關聯(lián)關系

三、備份和恢復

備份:右鍵–>轉儲為SQL文件
恢復:右鍵運轉SQl文件

navicat for mysql基礎知識的示例分析

三、操作動作

1、簡單查詢

語法:

select 字段 form 表名 where 條件;

通過as給表和字段取別名:select name as n from students as s;

消除重復行:select distinct * from students;

比較運算符:

等于:=
大于:>
大于等于:>=
小于: <
小于等于:<=
不等于:!=或<>

邏輯運算符:

與:and
或:or
非:not

模糊查詢:

like
%表示任意多個任意字符
表示一個任意字符
例1:查詢姓孫的學生
select * from students where name like ‘孫%';
例2:查詢姓孫且名字是一個字的學生
select * from students where name like '孫
'

范圍查詢:

in表示在一個非連接的范圍內(nèi);
例1:查詢家鄉(xiāng)是北京或上海或廣東的學生
select * from students where hometown in(‘北京',‘上海',‘廣東');
between…and…表示在一個連續(xù)的范圍內(nèi)
例2:查詢年齡為18至28的學生
select * from students where age between 18 and 28;
空判斷:
注意:null與''是不同的
判斷is null
例1:查詢沒有填寫身份證的學生
select * from students where card is null;
判非空is not null
select * from students where card is not null;

排序:

語法:select * from 表名 order by 列1 asc|desc,列1 asc|desc…;
默認按照列值從小到大排列
asc從小到大排序,即升序。
desc從大到小排序,即降序。

聚合函數(shù):

1、count(*)表示計算總行數(shù),括號中寫星和列名結果一樣。
聚合函數(shù)不能再where中使用
例1:查詢學生總數(shù)
select count(*) from students;
2、max(列)表示求此列的最大值
例2:查詢女生的最小年齡
select max(age) from students where sex=‘女';
3、min(列)表示此列最小值
例:查詢1班最大的年齡
select min(age) from students where 班級=‘1'
4、sum(列)表示求此列的和
select sum(age) from students
5、avg(列)表示求此列的平均值
select avg(age) from students

分組:

1、按照字段分組,表示此字段相同的數(shù)據(jù)會被放到一個組中
2、分組后,分組的依據(jù)列會顯示在結果集中,其他列不會顯示在結果集中
3、可以對分組后的數(shù)據(jù)進行統(tǒng)計,做聚合運算
語法:
select 列1,列2,count(*) from 表名 group by/having 列1,列2
having后面的條件運算符與where的相同
對比where與having
1、where是對from后面指定的表進行數(shù)據(jù)篩選,屬于對原始數(shù)據(jù)的篩選
2、having是對group by 的結果進行篩選

分頁查詢:獲取部分行

1、當數(shù)據(jù)過大時,在一頁中查看數(shù)據(jù)是一件非常麻煩的事情
2、語法:
select * from limit start,count;
2.1 從start開始,獲取count條數(shù)據(jù)。
2.2 start索引從0開始
例1:查詢前3行學生信息
select * from students limit 0,3;
分頁:
1、已知:每頁顯示m條數(shù)據(jù),求:顯示第n頁的數(shù)據(jù)
select * from students limit (n-1)*m,m;
2、求總頁數(shù)
查詢總條數(shù)p1
使用p1除以m得到p2
如果整除則p2為總數(shù)頁
如果不是整數(shù)則p2+1為總頁數(shù)

連接查詢:

1、當查詢結果得列來自于多張表時,需要將多張表連接成一個大的數(shù)據(jù)集,再選擇合適的列返回
2、等值連接查詢:查詢的結果為兩個表匹配到的數(shù)據(jù)
3、左連接查詢:查詢結果為兩個表匹配到的數(shù)據(jù)加左表特有的數(shù)據(jù),對于右表中不存在的數(shù)據(jù)使用null
4、右連接查詢:查詢結果為兩個表匹配到的數(shù)據(jù)加右表特有的數(shù)據(jù),對于左表中不存在的數(shù)據(jù)使用null

等值連接:

方式1:select * from 表1,表2 where 表1.列=表2.列;
方式2(又稱內(nèi)連接): select * from 表1 inner join 表2 on 表1.列=表2.列;
方式3(表內(nèi)連接):select * from 表1,表2,表3 where 表1.列=表2.列 and 表2=表3;
方式4(又稱左連接): select * from 表1 left join 表2 on 表1.列=表2.列;
方式5(又稱右連接): select * from 表1 right join 表2 on 表1.列=表2.列;

主查詢:

主要查詢的對象,第一條select語句

子查詢:

在第一個select語句中嵌入了另一個select語句,那么嵌套的select語句稱之為子查詢

主查詢和子查詢的關系:

1、子查詢時嵌入到主查詢中
2、子查詢是輔助主查詢的,要么充當條件,要么充當數(shù)據(jù)源
3、子查詢是可以獨立存在的語句,是一條完整的select語句

子查詢分類:

1、標量子查詢:子查詢返回的結果是一個數(shù)據(jù)(一行一列)
2、列子查詢:返回的結果是一列(一列多行)
3、行子查詢:返回的結果是一行(一行多列)
4、表級子查詢:返回的結果是多行多列
標量子查詢:
例1:查詢班級學生的平均年齡
select avg(age) from students;
列子查詢:
例1:查詢18歲的學生學號
select studentno from students where age=18;
行級查詢:
例1:查詢男生中年齡最大的學生信息
select max(age) from students where sex=‘男';

2、插入數(shù)據(jù)

語法:
insert into 表名 values(…)
插入多條:insert into 表名 values(…),(…)

3、刪除數(shù)據(jù)

語法:
delete from 表名 where 條件

4、修改/更新數(shù)據(jù)

語法:
update 表名 set 列1=值1,列2=值2… where 條件

四、高級

視圖:

1、對于復雜的查詢,在很多地方被使用,如果需求發(fā)生了改變,需要更改sql語句,則需要在多個地方進行修改,維護起來非常麻煩。
2、解決:定義視圖。
3、視圖本質就是對查詢的封裝
4、定義視圖,建議以V_開頭
select view 視圖名稱 as select 語氣;
查看視圖:查看表會將所有的視圖也列出來

show tables;

刪除視圖:

drop view 視圖名稱;

使用:視圖的用途就是查詢
select * from 視圖名稱;

索引:

語法:
查看索引:show index from 表名;

外鍵:

一個外鍵的值一定是另一個表的主鍵,在設置主鍵以前,必須先將兩個表選項中的引擎修改為InnoDB:

navicat for mysql基礎知識的示例分析

然后設置外鍵:

navicat for mysql基礎知識的示例分析

注意:外鍵所在的表不能設置主鍵

唯一:

設置唯一后,數(shù)據(jù)能出現(xiàn)重復的數(shù)據(jù)。

navicat for mysql基礎知識的示例分析

輸入重復的數(shù)據(jù)就會報錯:

navicat for mysql基礎知識的示例分析

五、知識補充

ctr+/ 注釋作用
笛卡爾積=兩個表數(shù)據(jù)個數(shù)相乘

感謝你能夠認真閱讀完這篇文章,希望小編分享的“navicat for mysql基礎知識的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI