壹、兩張表 city表和province表。分別為城市與省份的關系表。
表名:city
id City Provinceid
1 廣州 1
2 深圳 1
3 惠州 1
4 長沙 2
5 武漢 3
………. 廣州
表名稱:province:
id Province
1 廣東
2 湖南
3 湖北
……….
1、寫壹條sql語句關系兩個表,實現:顯示城市的基本信息。顯示字段:城市id ,城市名, 所屬省份 。
如:
Id(城市id) Cityname(城市名) Privence(所屬省份)
2、如果要統計每個省份有多少個城市,請用group by 查詢出來。顯示字段:省份id ,省份名,包含多少個城市。
二、主鍵 和外鍵表示什麽?壹般用於做什麽?
主鍵:能夠唯壹表示數據表中的每個記錄的字段或者字段的組合就稱為主鍵。壹個主鍵是唯壹識別壹個表的每壹行記錄,但這只是其作用的壹療分,主鍵的主要作用是將記錄和存放在其他表中的數據進行關聯,在這壹點上,主鍵是不同表中各記錄間的簡單指針,主鍵約整就是確定表中的每壹條記錄,主鍵不能是空值,唯壹約束是用於指定壹個或多個列的組合值具有唯壹性,以防止在列中輸入重復的值,所以,主鍵的值對用戶而言是沒有什麽意義,並且和它賦予的值也沒有什麽特別聯系。
外鍵:若有兩個表A,B,C是A的主鍵,而B中也有C字段,則C就是表B的外鍵,外鍵約束主要用來維護兩個表之間數據的壹致性。A為基本表,B為信息表。
在數據庫中,常常不只是壹個表,這些表之間也不是相互獨立的,不同的表之間需要建立壹種關系,才能將它們的數據相互溝通,而在這個溝通過程中,就需要表中有壹個字段作為標誌,不同的記錄對應的字段取值不能相同,也不能是空白的,通過這個字段中不同的值可以區別各條記錄,就像我們區別不同的人,每個人都有名字,但它卻不能作為主鍵,因為人名很容易出現重復,而身份證號是每個人都不同的,所以可以根據它來區別不同的人,數據庫的表中作為主鍵的段段就要像人的身份證號壹樣,必須是每個記錄的值都不同,這才能根據
主鍵的值來確定不同的記錄。
關系:外鍵壹定是另外某個表的主鍵。
三、select now(),Date_ADD(now(),INTERVAL 14 day),Date_SUB(now(),INTERVAL 3 Day) from table; 會獲得什麽內容,請寫出來。
會獲得三條數據:
第壹條:當前時間;
第二條:當前時間加上14天;
第三條:當前時間減去3天。
四、您所知道的MYSQL 數據庫備份,還原方式有哪幾種?
備份:
壹,搭建主從架構,master-slave,通過binlog文件同步復制主庫的數據,也可以直接通過binlog文件恢復數據。
二,通過系統計劃任務執行mysqldump做周期性全備份。
三,物理備份,直接拷貝數據文件、參數文件、日誌文件。
還原:
壹.通過mysql操作工具,如phpmyadmin,sqlyog等導入備份過的數據庫文件。
二.將物理備份的文件拷貝到mysql的data目錄下
五、內容管理系統中,表message有如下字段
id 文章id
title 文章標題
content 文章內容
category_id 文章分類id
hits 點擊量
創建上表,寫出MySQL語句
六、同樣上述內容管理系統:表comment記錄用戶回復內容,字段如下
comment_id 回復id
id 文章id,關聯message表中的id
comment_content 回復內容
現通過查詢數據庫需要得到以下格式的文章標題列表,並按照回復數量排序,回復最高的排在最前面
文章id 文章標題 點擊量 回復數量
用壹個SQL語句完成上述查詢,如果文章沒有回復則回復數量顯示0
七、內容管理系統,表category保存分類信息,字段如下
category_id int(4) not null auto_increment;
category_name varchar(40) not null;
用戶輸入文章時,通過選擇下拉菜單選定文章分類
寫出如何實現這個下拉菜單
八、PHP文件操作
1、內容管理系統:用戶提交內容後,系統生成靜態HTML頁面;寫出實現的基本思路
2、簡單描述用戶修改發布內容的實現流程和基本思路
1)當用戶提交後生成壹個由url地址MD5後的文件的編譯頁面,用文件處理file函數生成壹個模板合成頁,判斷模板編譯頁是否有,模板頁無或者編譯頁的創建時間戳小於模板頁的修改時間都會從新生成編譯頁面,編譯後的頁面會調用對應數據庫的值顯示在頁面中,通過對內存數據的讀取釋放,顯示出我們看到的靜態數據,然後用file文件將其保存起來生成靜態的頁面
2)當用戶修改了發布內容都會修改數據相關的內容,並通過編譯頁面更新靜態數據並用文件的方式緩存起來,當用戶查看時將不做任何數據庫查找,直接調用該緩存文件即可