1
2
3
4
5
<code>--select * from products</code>
<code>--select prod_name from products</code>
<code>/*limit 7 offset 2 */</code>
<code>--從第二行往下取7行資料,若不足7行,則取實際包含的行數 </code>
<code>--limit 2,7--等同</code>
手抖把寨闆弄翻過來了,吓得筆記本硬碟脫機,重新開機後隻剩下上面這點練習了,下面是今天練習Mysql關于表的
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<code>select</code> <code>* </code><code>from</code> <code>orders</code>
<code>order</code> <code>by</code> <code>2,3</code>
<code>show engines</code>
<code>show variables </code><code>like</code> <code>'%innodb%'</code>
<code>show variables </code><code>like</code> <code>'%storage_engine%'</code> <code>--檢視mysql目前預設的存儲引擎:</code>
<code>show </code><code>table</code> <code>status </code><code>from</code> <code>test </code><code>where</code> <code>name</code> <code>=</code><code>'test'</code><code>--檢視test庫的test表的存儲引擎資訊</code>
<code>----建立表,并指定其存儲引擎為Innodb</code>
<code>USE TEST</code>
<code>create</code> <code>table</code> <code>test_engine (id </code><code>int</code> <code>not</code> <code>null</code> <code>auto_increment,</code>
<code> </code><code>temp</code> <code>varchar</code><code>(10),</code><code>--varchar類型需要指定長度,否則會報錯無法建立表</code>
<code> </code><code>primary</code> <code>key</code> <code>(id)</code>
<code> </code><code>) engine = innodb</code>
<code>--更改表的存儲引擎</code>
<code>alter</code> <code>table</code> <code>engine= myisam</code><code>--報錯,不知道為何</code>
<code>--小練習1</code>
<code>create</code> <code>table</code> <code>example0(id </code><code>int</code> <code>not</code> <code>null</code> <code>auto_increment </code><code>primary</code> <code>key</code><code>,</code>
<code> </code><code>name</code> <code>varchar</code><code>(20),</code>
<code> </code><code>sex boolean </code><code>--等同與tinyint(1)</code>
<code> </code><code>)</code>
<code>--小練習2--組合主鍵</code>
<code>use test</code>
<code>create</code> <code>table</code> <code>sc(sNo </code><code>int</code> <code>not</code> <code>null</code><code>,</code>
<code>cNo </code><code>int</code> <code>not</code> <code>null</code><code>,</code>
<code>/*突然想起了</code><code>select</code> <code>2 </code><code>from</code> <code>table</code><code>的問題了,試驗一下</code>
<code>use world;</code>
<code>select</code> <code>2 </code><code>from</code> <code>world.city </code><code>--結果為選出一列n行的2,n為city表的行數</code>
<code>*/</code>
<code>grade </code><code>int</code> <code>default</code> <code>'0'</code><code>,</code><code>--不能少逗号,即使下面沒有屬性聲明隻有主鍵定義。。。</code>
<code>primary</code> <code>key</code> <code>(sNo,cNo)</code>
<code>)</code>
<code>use test;</code>
<code>create</code> <code>table</code> <code>sc(sNo </code><code>int</code> <code>,</code><code>--這裡之前有not null 然後建立的時候就一直出錯</code>
<code>cNo </code><code>int</code> <code>,</code><code>--同上(上面一個例子是不是也是這個原因?不明白為啥,實驗一下)</code>
<code>grade </code><code>int</code> <code>default</code> <code>'0'</code><code>,</code>
<code>create</code> <code>table</code> <code>example1(id </code><code>int</code> <code>not</code> <code>null</code> <code>auto_increment </code><code>primary</code> <code>key</code><code>,</code>
<code> </code><code>name</code> <code>varchar</code><code>(20),</code><code>--果然不加(20)就會報錯,為什麼?</code>
<code> </code><code>sex boolean</code>
<code>/*子表的外鍵必須是父表的主鍵,且資料類型需一緻*/</code>
<code>create</code> <code>table</code> <code>example3(id </code><code>int</code> <code>primary</code> <code>key</code><code>,</code>
<code> </code><code>stu_id </code><code>int</code><code>,</code>
<code> </code><code>course_id </code><code>int</code><code>,</code>
<code> </code><code>constraint</code> <code>c_fk </code><code>foreign</code> <code>key</code><code>(stu_id,course_id) </code><code>references</code> <code>example2(stu_id,course_id) </code><code>--報錯,無法建立example3表。查詢書籍,可能是被依賴的example2表及其屬性不存在</code>
<code> </code><code>--先回來建立表example2</code>
<code> </code><code>)</code>
<code>create</code> <code>table</code> <code>example2(stu_id </code><code>int</code><code>,</code>
<code> </code><code>course_id </code><code>int</code><code>,</code>
<code> </code><code>grade </code><code>float</code><code>,</code>
<code> </code><code>primary</code> <code>key</code><code>(stu_id,course_id)</code>
<code> </code><code>constraint</code> <code>c_fk </code><code>foreign</code> <code>key</code><code>(stu_id,course_id) </code><code>references</code> <code>example2(stu_id,course_id) </code>
<code> </code><code>) </code><code>--Command(s) completed successfully.</code>
<code>/*字段唯一性限制,字段自增屬性,字段預設值(之前的例子中,</code><code>int</code><code>預設值0不加‘’報錯,再預先實驗一下)*/</code>
<code> </code><code>--把小練習2複制過來,以後的例子都要編号,友善調用。。。</code>
<code> </code><code>create</code> <code>table</code> <code>sc1(sNo </code><code>int</code> <code>not</code> <code>null</code><code>,</code>
<code>grade </code><code>int</code> <code>default</code> <code>0,</code>
<code>primary</code> <code>key</code> <code>(sNo,cNo))</code><code>--Command(s) completed successfully.看來是我自己弄錯了</code>
<code> </code><code>--小練習3</code>
<code> </code><code>create</code> <code>table</code> <code>example7(id </code><code>int</code> <code>primary</code> <code>key</code> <code>auto_increment,</code>
<code> </code><code>stu_id </code><code>int</code> <code>unique</code><code>,</code>
<code> </code><code>name</code> <code>varchar</code><code>(20) </code><code>not</code> <code>null</code><code>,</code>
<code> </code><code>English </code><code>varchar</code><code>(20) </code><code>default</code> <code>'zero'</code><code>,</code>
<code> </code><code>Math </code><code>float</code> <code>default</code> <code>0,</code>
<code> </code><code>Computer </code><code>Float</code> <code>default</code> <code>0</code>
<code> </code><code>) </code><code>--Command(s) completed successfully.關于表的練習結束</code>
本文轉自 angry_frog 51CTO部落格,原文連結:http://blog.51cto.com/l0vesql/1771020