MySQL建立進階連接,mysql連接
SQL允許給表取別名,這樣做的兩個主要理由是:
- 縮短SQL語句;
- 允許在單條SELECT語句中多次使用同一個表;
與之前相對應的我們使用別名來表示一個表:
自連接
問題:假如知道某一廠商生產的一個產品識別碼 為 DTNTR有問題,需要從資料庫中尋找出該廠商生產的其他所有產品。
下面的SELECT語句可以將該vend_id所生產的所有產品尋找出來:
現在來看使用連接的相同查詢:
Mysql建立外鍵串連
建立外鍵需要注意幾點:
1,必須使用innodb表引擎
2,兩個表的字元編碼必須一致
3,被引用的typeid,即父表中的typeid必須是主鍵或者唯一建
滿足以上幾點,sql如下:
--------------------------------
create table father (typeid int primary key,name varchar(10)) engine=innodb;
create table son (id int,typeid int ,foreign key (typeid) references father(typeid)) engine=innodb;
如果你的意思只是說兩個表做關聯,你的sql可以這麼寫
select * from father ,son where son.typeid=father.typeid
怎建立MYSQL資料庫的串連?
在安裝好MYSQL ODBD 的驅動程式後,應如何建立ASP 檔案串連資料庫? 我們有兩種方法: 一種是在ODBC 資料來源中建立一個DSN。具體方法是: 1、開啟控制台中的ODBD 資料來源; 2、選擇系統DSN,添加一個新的DSN 驅動程式; 3、選擇MyODBD,出現一個對話方塊供輸入MySQL: (1)Windows DSN name:所要建立DSN 的名稱; (2)MySQL Host (name or ip):MySQL 伺服器的名稱或IP 位址。一般填LocalHost ; (3) MySQL database name:需要使用資料庫的名稱。 4、在 MySQL 管理程式中建立資料庫。以資料庫 chunfeng 為例,內有 user 資料表,兩個欄位分別是:username 和password,我們可以試著加入幾個記錄: (1)user:串連資料庫的使用者名稱。可填root 超級使用者; (2)password:串連資料庫使用者口令。可不填; (3)Port(if not 3306):MySQL 在伺服器的連接埠。填預設為3306; (4)SQL command on connect:使用SQL 命令串連資料庫。可不填。 全部填完後按OK 儲存。 好了,我們來串連資料庫,ASP 代碼如下: <% strConnection = "dsn=chunfeng;driver={myodbd driver};server=localhost;uid=root;pwd=; database=chunfeng" Set adoDataConn = Server.CreateObject("ADODB.Connection") adoDataConn.Open strConnection strQuery = "SELECT * FROM user" Set rs = adoDataConn.Execute(strQuery) If Not rs.BOF Then %>