花了兩天時間,了解了一下資料庫的基本語法以及操作,看的是sql必知必會這本書,感覺這本書比較薄,看起來不像課本那樣詳細,所以我總結的也不太全面,請多多包含吧。。。。。
如果你沒接觸過sql,可以先用這款軟體去熟悉一下資料庫的結構,這款軟體只要連線好資料庫就能用了十分方便,還能在裡面練習sql語句。。。
個人看了幾天書,我認為資料庫一般都是按照下面的順序去操作的:資料庫->表->字段(列)->行
3.1 注釋
1.
#
2.--
3./* */
(前兩個都是單行注釋,注意雙斜槓後面有空格,第三個是多行注釋)
3.2 建立資料庫create
database 資料庫名稱;
3.3 檢視資料庫show databases;
3.4 切換資料庫use 資料庫名;
3.5 刪除資料庫drop
database 資料庫名;
注意
sql語句對大小寫不敏感,並且以分號作為語句的結束
3.6 建立資料表
如:
create
table teacher(
id int(4) not
null
primary
key auto_increment,
name char(20) not
null,
*** char(10) not
null,
addr char(20) not
null
);
3.7 檢視資料表show tables;
3.8 插入資料表insert
into teacher(name,***,addr)
values('leo','male','hangzhou');
3.9 查詢資料表select * from teacher;
要搜尋多個列用逗號隔開,例如:
select id,user
from teacher;
/*沒有明確排定的順序,每一次查詢的順序可能都不一樣,很正常,牽扯到dbms的**機制,看看書就好,不多說*/
3.10 where句子select 你要的資訊 from 資料表(或多個) where 滿足的條件(判斷的條件)
「*」代表所有符合資料,where也可以用於update或者delete語句中
3.11 order by句子
select 你要的資訊 from 資料表(或多個) order
by 字段 asc/desc /*按字母等順序排序,後面的asc那些可以不寫,預設asc公升序,desc降序*/
可使用order by 『數字』,判斷資料標的字段長度
使用該子句時,應確保他是select語句的最後乙個字句,即當where子句出現的時候order by應該放在where的後面,不然會報錯
按多個列排序,像搜尋的時候用逗號隔開即可,如:select user,content from msg order by user,content;
這句話只有在user這個條件都一樣的時候才會對content排序,如果user都是唯一的話,沒啥實際作用。。。。
3.12 union句子
可以合併兩個表中的資訊
select 你要的資訊 from 資料表1
union
select 你要的資訊 from 資料表2;
/*對於這句話,它是不顯示兩個表中的相同的資訊的*/
要顯示全部資訊的話可以使用union all,對於那一種,其實還有個distinct關鍵字讓資料庫只返回不同的值,不多說,可以自己去看書學習
3.13 limit句子
limit指定返回的行數,例如:
select * from teacher limit 5 offset 5; //這裡的offset是從第幾行開始,這句話是從第五行起的五行資料
注意:
第0行的問題
limit 1 offset 1
是從資料表的的第二行開始,因為資料庫第一行相當於語句的第0行
3.14 更新資料
update teacher set name = '0ver'
where id=1;
3.15 刪除表的內容delete
table
3.16 刪除表drop
table 表名
3.17 sql注入中常用的內建函式select database()
select currebt_user
select load_file("路徑")
select version() //資料庫版本
3.18 php連線到資料庫
前兩天總結了php,現在再來講講php+mysql的應用
我認為,這個**應該分成兩個部分:
1.連線到資料庫
2.執行sql語句
提醒一下,不要用mysql_connect連線了,太古老了,官方文件是這樣說的:從 php 5.5.0 起這個擴充套件已經被廢棄,並且從 php 7.0.0. 開始被移除。
怪不得我以前照著書上的**敲的時候不能用。。。。。。。。
mysqli連線,這個大部分是物件導向的,即最好用new來開始連線,不推薦過程化風格,雖然過程化風格跟mysql_connect很像,所以還是對php裡面的類和物件有點了解比較好,想詳細了解的話可以看官方文件
另外執行mysql語句命令用的是query語句執行的,而且query語句返回的是true跟false,可以用這一點去判斷是否執行成功。
整個環境都是用phpstudy搭的,資料庫名稱是php10,以後配置記得以下三步:資料庫匯入,原碼匯入,配置資料庫檔案emmmm,不多說了,還是直接上**比較靠譜:
<?php
$host = 127.0
.0.1;
$user = 'root';
$pwd = 'root';
$dbname = 'php10';
$db = new mysqli($host,$user,$pwd,$dbname);
if($db->connect_errno!=0) //這裡的的mysqli_errno=0即連線成功,可以用var_dump函式去驗證
$sql = "update msg set user='0verwatch' where id=1"; //sql語言不分大小寫
$db->query("set names utf8");
//確保資料傳輸也是utf-8,防止出現亂碼,可能會出現這種情況,但我發現我刪除之後沒影響,最好還是些寫寫吧,小心是utf8沒有橫線
$flag = $db->query($sql); //返回true跟false,查詢官方文件可知
if($flag == true)
else
?>
放寒假打的第一場球,就把手給折了,還好我強忍著疼痛把這篇部落格給寫完,果然學習才是人生第一大事。。。。。。。 對資料庫與mybatis的總結
是預編譯處理,是字串替換。使用 可以有效的防止sql注入,提高系統安全性。資料的完整性 約束 實體完整性 主鍵約束 唯一約束 這兩者的區別在於主鍵必須滿足唯一和非空,而唯一約束可以為空 域完整性 保證欄位的完整性 資料型別 預設約束 default 非空約束 引用完整性 表與表之間的完整性 外來鍵約...
對資料庫事務的小總結
作為單個邏輯工作單元執行的一系列操作,要麼全都執行,要麼全都不執行。而乙個邏輯工作單元要成為事務,必須滿足acid特性。a atomicity 原子性 事務中的特性要麼不做,要麼全做。c consistency 一致性 事務執行的結果必須是從資料庫從乙個一致性狀態轉換到另乙個一致性狀態。i isol...
C 對資料庫操作的函式總結
sqlcommand.executenonquery 方法對連線執行 transact sql 語句並返回受影響的行數。可以寫也可以讀。1.可以使用executenonquery 來執行目錄操作 例如查詢資料庫的結構或建立諸如表等的資料庫物件 2.對於update insert 和 delete 語...