文章

目前顯示的是 五月, 2017的文章

學生選課資料練習 (續)

(1)建立資料庫 create database mycourse_20170526 character set utf8 collate utf8_general_ci; (2)選擇資料庫 use mycourse_20170526; (3)建立學生選課資料表 : 學生資料表、課程資料表、選課表、老師資料表、科系資料表。 學生資料表 student create table student ( stud_no char(8) not null, stud_name char(10), stud_sex char(1), stud_tel char(12), dept_no char(1), primary key(stud_no), unique (stud_tel)); 課程資料表 course create table course ( course_no char(5) not null, course_name char(20), course_credit int default 3, teacher_no char(5), course_type char(1), dept_no char(1), primary key (course_no)); 選課表 student_course create table student_course ( stud_no char(8), course_no char(5), course_score int not null, primary key (stud_no, course_no), foreign key (stud_no) references student (stud_no) on update cascade on delete cascade, foreign key (course_no) references course (course_no) on update cascade on delete cascade); 老師資料表 teacher create table teacher ( teacher_no char(5) not null, teacher

如何輸出執行結果到檔案

select * from table_name INTO OUTFILE '/directory/output.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' 以上就會執行select * from table_name 然後輸出到  '/directory/output.csv' 以逗號為欄位的分隔符號 然後每個欄位資料以雙引號刮起來 每筆資料結尾以  '\n' 結束。

學生選課資料練習

(1)建立資料庫 create database mycourse character set utf8 collate utf8_general_ci;  (2)選擇資料庫 use mycourse; (3)建立學生選課資料表 : 學生資料表、課程資料表、選課表。 學生資料表 student create table student ( stud_no char(8) not null, stud_name char(10), stud_sex char(1), stud_tel char(12), primary key(stud_no), unique (stud_tel)); 課程資料表 course create table course ( course_no char(5) not null, course_name char(20), course_credit int default 3, primary key (course_no)); 選課表 student_course create table student_course ( stud_no char(8), course_no char(5), course_score int not null, primary key (stud_no, course_no), foreign key (stud_no) references student (stud_no) on update cascade on delete cascade, foreign key (course_no) references course (course_no) on update cascade on delete cascade); on update/on delete 參考資料 https://technet.microsoft.com/zh-tw/library/ms186973(v=sql.105).aspx (4)插入資料到 : 學生資料表、課程資料表、選課表。 insert into student values ('S001', '李大華', 'M

資料表的運算 (續)

圖片
這篇是接著之前文章,再來說明的 資料表單的運算 http://www.mysql.tw/2014/05/blog-post_21.html 關聯模式的運算 http://www.mysql.tw/2015/05/blog-post_14.html 資料表的運算有以下~ 限制(Restrict) 投影(Project) 聯集(Union) 卡氏積(Cartesian Product) 差集(Difference) 交集(Intersection) 合併(Join) 除法(Division) (1)限制(Restrict) : 指的是從資料表取出符合條件的資料 。 從客戶表單中取出客戶編號為1的資料~ SELECT * FROM customer WHERE cus_id=1; (2)投影(Project) :  指的是從資料表取出特定欄位 。 從客戶表單中取出客戶編號與客戶姓名~ SELECT cus_id, cus_name FROM customer; (3)聯集(Union) : 指的將兩個或多個資料表產生為新的資料表,若有重複的資料,則只顯示一次。 例如有兩個結構一樣的客戶資料表,要把他合併起來,但是要去除重複資料。 以下是測試過程~假設原本已經有customer表單 //建立一個結構跟customer一樣的資料表 customer2 create table customer2 like customer; //要把原customer的資料也插入customer2 insert customer2 select * from customer; 然後可以在customer2多插一筆新資料,刪除一筆舊資料,以便看出聯集的作用 insert into customer2 (cus_id, cus_name, cus_address, cus_no) values (6, 'Ted', 'Chiayi', ;006'); delete from customer2 where cus_id=5; select * from customer UNION select * from customer2; (4

實作練習 (再續)

圖片
這個練習跟以下的練習有關 http://www.mysql.tw/2013/04/blog-post.html 這個練習資料庫的建立,以及簡單的用PHP來連結資料庫,然後做資料新增與顯示。 http://www.mysql.tw/2013/04/blog-post_18.html 這個練習直接使用SQL指令的SELECT來篩選需要的資料。 以下是練習的步驟: (1) 為了後續的練習,我們必須先加上有意義的資料到資料表中,所以先把舊資料刪除了。 假設你的資料庫是newdb //使用newdbname資料庫 ~ 紅色請依實際狀況修改 use newdbname ; //顯示裡面有哪些資料表 show tables; //刪除舊的資料 delete from customer; delete from order_body; delete from order_head; delete from product; //插入有意義的資料 ~ customer insert into customer(cus_id, cus_name, cus_address, cus_no) values (1, 'John', 'Yunlin', '001'); insert into customer(cus_id, cus_name, cus_address, cus_no) values (2, 'Mary', 'Taipei', '002'); insert into customer(cus_id, cus_name, cus_address, cus_no) values (3, 'Tim', 'Taichung', '003'); insert into customer(cus_id, cus_name, cus_address, cus_no) values (4, 'Helen', 'Tainan', '004'); insert into customer(cus_id, cus_