程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql數據庫入門講解

MySql數據庫入門講解

編輯:MySQL綜合教程


MySql數據庫入門講解   一、數據庫相關的概念 Dbms: database manager system  數據庫管理系統,即數據庫的服務程序。 通常說的安裝數據庫就是安裝dbms。   只有安裝數據庫的數據庫系統才能真正的提供服務,所以安裝數據庫程序時,一般在安裝管理服務程序時,會默認安裝一個數據庫實例。如SQL Server默認安裝了相關的plus、northwind。而Mysql 默認安裝test、mysql、information等,Oracle會安裝時提示建議安裝一個orcl數據庫(當然名稱也可以改)。以後在開發應用時有需求要新建數據庫時,可以通過相關的客戶端軟件,連接服務程序創建相關的數據庫實例。   www.2cto.com   具體關系如圖:     二、MySQL數據庫的安裝 下載地址:http://www.mysql.com/downloads/ MySql的安裝其實很簡單,需要注意的是在安裝進行到選擇默認字符編碼集時,請選擇utf8。 三、SQL簡介 強烈建議在學習SQL時,前期使用命令來學習不要用可視化的工具(包括創建修改表數據庫等操作),這裡用MySQL作為學習數據庫。
  Structured Query Language:SQL的縮寫,是結構化查詢語言。 1. 進入數據庫  mysql [-h 主機名或ip] -u[ ]用戶名 -p[密碼] 在window命令行中,輸入mysql -h 192.168.1.106 -u chen -p 回車換行後,會有提示要求輸入密碼即可進入。注意-h 若是本機地址時,也可以不用輸入-h的。   2. 查看dbms管理著幾個數據庫,目前有幾個數據庫  show databases; 四、SQL 語句的分類 1. DDL:data definition language  數據庫定義語言 適用對象:數據庫、表結構。 關鍵字:CREATE  ALTER DROP
  2. DML:data manipulate language  數據操作語言  適用對象:表中的記錄。  關鍵字:INSERT UPDATE DELETE 3. DQL:data query language  數據查詢語言  適用對象:表記錄等等。 關鍵字:SELECT   www.2cto.com   DDL舉例如下: 0> 創建數據庫:create database adtest; 1> 創建表: (先要用use test; 數據庫哦) create table if not exists employee( Id int primary key, Name varchar(100) unique not null,  Gender varchar(5), Birthday date, salary float ) 2> 查看表結構: desc employee; 3> 查看有哪些表:show tables; 4> 增加一列圖片列 alter table employee add image blob; 5> 修改name列長度 alter table employ modify name varchar(40); 6> 刪除圖片列 alter table employee drop image; 7> 修改表名為user rename table employee to user; 8> 修改表字符編碼utf8 alter table employee character set utf8; 9> 列名name改成username  alter table employee change name username varchar(40); 10> 刪除表employee  drop table employee;   www.2cto.com   DML舉例如下: 1> 插入一條員工信息 Insert into employ(id,name,gender,birthday,salary)  values(‘1’,’xiaochen’,’2012-10-10’,12203.6); 2> 客戶端查看數據庫的各種編碼 Show variables like ‘%char%’; 有以下: character_set_client:通知服務器客戶端使用的碼表 character_set_connection:鏈接數據庫所使用的碼表 character_set_database:e是數據庫服務器中某個庫使用的字符集設定,如果建庫時沒有指明,將使用服務器安裝時指定的字符集設置。     character_set_results:是數據庫給客戶端返回時使用的字符集設定,如果沒有指明,使用服務器默認的字符集。          character_set_server:是服務器安裝時指定的默認字符集設定。        character_set_system:是數據庫系統使用的字符集設定 注意:若在控制台中拋入中文,則必須輸入set character_set_client=gbk;為了顯示中文要輸入set character_set_results=gbk;(控制台默認用本地gbk編碼的)。這種set方式只對當前的命令控制台有效。   3> 更新操作  update tablename set columnname = value where ...或   Update t1(別名) set t1.columnname = value from tablename t1 where ... 4. 刪除操作 delete from tablename where .... DQL舉例: 1> 查詢不同的英文成績 同一英文成績只顯示一行 Select distinct english from student 2> 查詢英文成績大於90分,學號是1,3,8,9號學生的成績 Select id, name,english,chinese,math from student where english>90 and id in (1,3,8,9); 3>對數學成績排序後輸出。 Asc 升序、Desc 降序 SELECT name,math FROM student ORDER BY math ASC;
  4> 查詢購買了幾類商品,並且每類總價大於100的商品  group by ... Having... SELECT id,product,SUM(price) FROM orders GROUP BY product HAVING SUM(price)>100; 特別注意:在SQL Server與Oracle使用group by 中,select中的字符必須是group by中出現的或使用了聚合函數如sum(ItmNum)或Agv、Min等。而MySql沒有這種要求,所以上面的select id也能出來。   4. 常用mysql函數 Count(*) 計數個數    sum(math) 數學成績匯總     avg(chinese)中文平均成績 Max(chinese)中文最高成績  Min(chinese)中文最低成績 5. DCL: data control language 數據控制語言 適用對象:相關的dba操作 如grant等操作
  五、數據庫約束 1. 主外鍵約束  主鍵約束primary key 外鍵 foreign key 業務主鍵 與業務相關 、  邏輯主鍵 與業務無關。 推薦有邏輯主鍵。 2. 主鍵自動自增 MySql 主鍵要求int且用auto_increment自增。 3. 定義唯一約束 unique 4. 定義非空約束 not null   六、表與表之間的關系 1. 一對多 CREATE TABLE department(  id int PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) UNIQUE NOT NULL ); CREATE TABLE employee(  id int PRIMARY KEY AUTO_INCREMENT,name VARCHAR(100) NOT NULL,  salary FLOAT(8,2),dept_id int,  CONSTRAINT dept_id_fk FOREIGN KEY(dept_id) REFERENCES department(id) );   2. 多對多關系 CREATE TABLE teacher(  id int PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL,  salary FLOAT(8,2) ); CREATE TABLE students(  id int PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL,  grade VARCHAR(10) ); CREATE TABLE teacher_student(  t_id int, s_id int, PRIMARY KEY(t_id,s_id),  CONSTRAINT t_id_fk FOREIGN KEY(t_id) REFERENCES teacher(id),  CONSTRAINT s_id_fk FOREIGN KEY(s_id) REFERENCES students(id) );   www.2cto.com   3. 一對一關系 CREATE TABLE book(  id int PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL,  price FLOAT(8,2) ); CREATE TABLE cartitem(  id int PRIMARY KEY , num int, price FLOAT(8,2),  CONSTRAINT b_id_fk FOREIGN KEY(id) REFERENCES book(id) );

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved