1.講解了mysql的安裝,對安裝介面提示資訊進行了解釋,例如,資料庫伺服器程式與客戶端程式的工作關係,資料庫伺服器程式與資料庫空間的關係,mysql innodb和myisam儲存引擎的區別,事務的概念(一些過程要能同生同死,針對我們的專案,**用到事務?發license和扣減貨幣),olap與oltp的區別。
2.多個邏輯相關的表形成乙個資料庫,乙個資料庫伺服器上可以建立多個資料庫,要先建立庫再建立表。
3.如何啟動mysql伺服器,如何使用mysql命令連線mysql伺服器,如何授權其他計算機上的使用者訪問mysql伺服器,下面的語句僅供練習,實際應用中很不安全:
grant all previliges on *.* to 'root'@'%' identified by "";
4.講解了與資料庫操作相關的語句,與表操作相關的語句,與表中的記錄操作相關的語句。如何使用一條insert into 語句插入多行記錄,如何檢視當前在哪個庫下面?select database();
5.小知識:mysql 的char型別的字串最大長度為64k,and和or可以混用,但and比or具有更高的優先順序。進入mysql命令後:source子命令執行sql指令碼檔案。用「? 函式名」看函式幫助,所有函式列表看help_topic表即可。
6.在實際應用中要注意設定好使用者的許可權的例項講解。一些安全方面的知識:區域網內監聽,修改**首頁的攻擊原理,sql注入攻擊的分析。
string sqllogon = "select * from user where name='" + name + "' and password='" + pass + "'";
對於sql server可以使用讓name等於' or 1=1 --,結果語句為:select * from user where name='' or 1=1 --' and password='123'
但是更通用的做法是讓pass等於' or 'x'='x,考慮到and優先級別高,讓name等於這個值形成的如下語句也無法登入:
select * from user where name='' or 'x'='x' and password='123'
讓pass等於' or 'x'='x,形成如下語句可以登入:
select * from user where name='zxx' and password='' or 'x'='x'
學員李傑(大學輟學)提議用兩個or,形成如下語句,就非常保險了:
select * from user where name='' or 'x'='x' or 'x'='x' and password='123'
7.乙個實際的sql應用:限制乙個使用者在45秒鐘內不能連續發帖
8.在mysql中如何實現分頁查詢。
9.where從句中不能使用max等分組聚合函式進行判斷。
10.多表查詢的笛卡爾集的原理,多表條件查詢的工作原理。編寫多表查詢語句時,一定要考慮查詢效率的優化,例如,對使用者表和帖子表進行關聯查詢,要查詢出「清原卓也」這個使用者所發表的帖子資訊,兩種查詢語句的執行效率可能有著巨大差異。另外,要查詢出「清原卓也」這個使用者所發表的帖子資訊,在編寫程式時,可以簡化sql語句,因為使用者名稱已知,可以不進行多表的關聯查詢,而是採用如下語句:
select article.* from article where article.userid in(select user.id from user where user.name='清原卓也');
11.使用自關聯查詢出薪水大於'張三'的所有使用者資訊。
12.學員李傑(大學輟學)用sql語句實現了對使用者表中的每個使用者進行排列組合的功能,如下:
select u1.name,u2.name from
(select name from user order by name) as u1, (select name from user order by name) as u2
where u2.name > u1.name
問題:1.mysql配置嚮導工具是哪個程式?好象免安裝版中沒有提供。
2.學員發現spring中的bean的屬性名的第二個字母不能大寫,具體原因是怎麼造成的呢?請汪大倫同學寫個blog問問。
作業:用sql語句計算出100天後的日期。
9月11日培訓日記
1.講解了mysql的安裝,對安裝介面提示資訊進行了解釋,例如,資料庫伺服器程式與客戶端程式的工作關係,資料庫伺服器程式與資料庫空間的關係,mysql innodb和myisam儲存引擎的區別,事務的概念 一些過程要能同生同死,針對我們的專案,用到事務?發license和扣減貨幣 olap與oltp...
9月26日培訓日記
作業 編寫乙個程式,用 show d 庫名 顯示出庫中的所有表,用 show t 表名 顯示出乙個表中的各個字段資訊,用 show i 表明 顯示出乙個表中的各個欄位名及相應的各行資料。課堂上隨手寫的一段示意 resultset rs resultsetmetadata r d rs.getmeta...
9月8日培訓日記
今天實在太累了,都是昨天空調吹的。我一吹空調,渾身肌肉就會繃緊,這樣一天十多個小時下來,就會感到特累。可是,不管天氣怎樣,學員們已經習慣一進教室就開啟 空調,坐在前排講課的我就遭殃了。今天我沒去教室,由方老師帶著學員練習前面課堂講解的知識,得到的反饋是學員們聽得東西太多,聽也都聽懂了,但就是自己練習...