2018年8月29日mysql數據庫的筆記

今天遇到的新單詞:
manual n手工的
correspond v符合一致
reject v拒絕
exist  v存在
solid adj固體的
character n性格,字符
exitst  v存在
exit  n出口
charset n字符集,編碼方式
ultimate adj最後的極限的,旗艦的
function  n功能,函數
trigger  n觸發器
foreign  adj外國的
duplicate v重複
transaction n事務,交易
cursor n光標
validate v使合法化,確認

sql server是window的14 版之後的纔可以跨平臺,之前沒有普及是因爲只支持單平臺win.

手機中也使用的有數據庫叫SQLite,是一個微型的,佔用內存比較小的數據庫。

中小型企業使用的數據庫:mysql
mysql上邊是sql server  微軟的軟件一般單平臺(只支持win平臺)和閉源
oracle 主流的大型的數據庫

安裝mysql時的步驟:
1.開始->win系統->右鍵命令提示符->更多->以管理員身份運行
2.powershell安裝mysql需要在每一步命令前面加上.\才能進行安裝
如果用普通的shell窗口的話
mysqld --initialize-insecure可以正常的初始化,但是在安裝mysql服務的時候,會顯示
Install/Remove of the Service Denied!安裝或者卸載該服務失敗,這是權限不夠導致的,
所以還是用管理員shell或者powershell安裝mysql吧


CRUD,是數據庫的四種基本操作:
CRUD是指在做計算處理時的增加(Create)、讀取(查)(Read)、更新(Update)和刪除(Delete)
幾個單詞的首字母簡寫。主要用在操作數據庫。


 ******************************
mysql數據庫中常見的錯誤代碼:
mysql數據庫中如果有語法錯誤,錯誤碼是1064

Duplicate key name 'jun' 重複添加鍵,重複添加的錯誤代碼是: 1061

錯誤代碼1215 無法添加外鍵約束的解決思路:兩個數據類型不一致

#這是mysql語句中有錯誤的話會報錯的提示,並會提示你在哪附近出錯了,出錯位置在near附近。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
 for the right syntax to use near ', "青蛙旅行")' at line 1

********************************
mysql中的模糊查詢是%和_,目標字符串中如果存在%或者_,可以用\反斜槓轉義。


命令行的缺陷:敲錯一個字母或者符號整行代碼就錯了

在看一些官方文檔的時候,文檔中方括號中的東西表示可有可無,大括號中的東西必須二選一

varchar裏面定義的是字符!

將列插入到指定的位置?
alter table tset_table add age int(4) default 20 after id;
將age添加到表test_table 中id的後面 其中default 爲默認值
如果想將某列添加爲第一列
alter table test_table add test int (5) default 4  first 


mysql中的註釋:
1、單行註釋可以用"#"
2、單行註釋的第二種寫法用 "-- " 注意這個風格下"--【空格】" 也就是說“--" 與註釋之間是有空格的。
3、多行註釋可以用/**/

mysql中如果想要按順序輸出不指定的話默認是升序。
mysql中存儲數據的位置是在mysql中的data文件中以二進制的形式ibd後綴名存儲。
之前學過存儲數據可以直接存爲文件,mysql的實質也是存爲文件,爲什麼要加DBMS數據庫管理
軟件生成數據庫這一環節呢?
因爲數據庫方便對數據的操作,如果直接存爲文件的話,查詢修改文件中的數據特別麻煩,而使用數據庫
管理數據文件(增刪改查)特別的方便


distinct:
在mysql中用select查詢的時候如果不想看到重複的數據,可以用在select後邊加上一個distinct,
去掉重複的數據,重複的數據就不再顯示了。


mysql中添加date時間的格式下下面的都可以:
date類型:
"0000/00/00"
"0000-00-00"
"0000_00_00"
00000000


在win終端輸入一個命令,如果提示不是內部或外部命令,也不是可運行的程序或批處理文件。
解決方法有兩個:
1.切換到該命令的可執行文件bin下運行該命令
2.將該命令的可執行文件的bin文件的路徑設置在系統環境變量中。


學軟件的歷史是學習軟件的標準化

什麼是對象?對象的引用賦值
什麼是數據庫?
數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,
每個數據庫都有一個或多個不同的API用於創建,訪問,管理,搜索和複製所保存的數據。
我們也可以將數據存儲在文件中,但是在文件中讀寫數據速度相對較慢。
所以,現在我們使用關係型數據庫管理系統(RDBMS)來存儲和管理的大數據量。所謂的關係型數據庫
,是建立在關係模型基礎上的數據庫,藉助於集合代數等數學概念和方法來處理數據庫中的數據。


正態分佈:隨着x逐漸增大,y逐漸增大,當y到達一個峯值,隨着x的增大,y逐漸減小,
增大過程和減小過程呈對稱狀分佈。

win文件名稱大小寫輸入時不區分,linux中嚴格區分

win終端的打印命令echo:
echo on/off   #顯示輸出語句和關閉輸出語句(打開回顯和關閉回顯)
echo %path%   #打印出來環境標量中所有的路徑

win終端下服務的啓動和停止:
net start 服務名稱
net stop 服務名稱

****************************************
編碼不同,佔的字節不同。
理解編碼的關鍵,是要把字符的概念和字節的概念理解準確。
不同的編碼裏面漢字長度是不同的

1.美國製定的ASCII碼只支持英文字符,每次讀取一個字節
2.歐洲人制定的ISO,和ASCII類似,支持法語和德語,每次也是讀取一個字節
3.中國製定了GBK編碼,每次讀取兩個字節,用兩個字節表示一個漢字。
這樣的話各個國家無法溝通,這時出現了Unocode編碼,幾乎收納了全世界大部分的字符,
計算機每次讀取3個字節,但是沒有規定編碼的二進制傳輸和二進制解碼,而且有的時候單字母的
話佔用3個字節比較浪費資源,需要注意的是,Unicode只是一個符號集,它只規定了符號的二進制代碼,卻沒有規定這個二進制代碼應該如何存儲
於是在Unicode的基礎上出現了新的解決方案,utf-8, utf-16, utf-32,在unocode符號集的基礎上又解決了
編碼的二進制傳輸和解碼問題,裏面用的所有的二進制表示方式都是unicode符號集裏面規定好的
重複一遍,這裏的關係是,UTF-8是Unicode的實現方式之一。

UTF-8最大的一個特點,就是它是一種變長的編碼方式。它可以使用1~4個字節表示一個符號,根據不同的符號而變化字節長度。
UTF-16是用2個字節編碼所有的字符,
UTF-32是用7個字節編碼所有的字符
使用最多的就是UTF-8,其他兩種基本上不用。


*******************************************
mysql中如果想要一起執行多條命令的話每條命令後邊都需要加分號,在圖形化工具sqlyog中如果只執行一行
命令的話默認後邊是自動加的,可以不用寫,但是如果要執行多條命令的話,每句話後邊也是需要加分號的
所以無論是在終端還是在圖形化界面操作數據庫,都要養成一個良好的習慣,每寫完一句sql語句在後邊
都要加上分號。防止程序提示的語法錯誤。for the right syntax to use near  ""

****************************************

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章