天天看點

Mysql資料庫操作複習,增删改查

Mysql資料庫

Apache(服務員)    php(大廚)    mysql(冰櫃)

Mysql資料庫操作複習,增删改查

Mysql是瑞典的mysqlAB公司開發的一款中小型關系型資料庫管理系統。

MysqlAB公司在2008年被Sun(java公司)給收購了

2009年Sun(java公司)被Oracle收購。

Mysql是一款免費資料庫,體積小,運作速度快。

主流資料庫(SQLserver微軟   Oracle甲骨文   DB2(IBM)   mysql)

Mysql資料庫資料庫量一般保持在1000萬以内,速度活性可以保持。

Mysql是一款資料庫軟體,需要被安裝在伺服器裡邊。

【資料存儲及與mysql資料庫系統的關系】

資料如何存放到資料庫裡邊

圖書管理資訊(圖書、借還資訊、作者資訊)

有一本圖書,圖書的名字是“php入門”,價格是“45元”,出版社“鐵道出版社”,作者“孫書華”,該資訊需要被存放到我們的資料庫裡邊。

Php入門 45元  鐵道出版社  孫書華(類似在記事本裡邊存放内容)

在記事本裡邊存放圖書,圖書的查詢、修改、删除、增加都不容易操作

Mysql資料庫操作複習,增删改查
Mysql資料庫操作複習,增删改查

【通路資料庫】

Mysql資料庫操作複習,增删改查

Php流程控制、函數

Mysql基本操作(資料庫和資料表的建立和删除)

【mysql操作回顧】

1. 登陸資料庫

mysql -h主機名  -u使用者名  -p密碼

2. 查詢目前資料庫管理系統有多少資料庫存在

show databases;

3. 進入具體資料庫/使用具體資料庫

use 資料庫名字;

4. 查詢目前資料庫資料表的情況資訊

show tables;

5. 建立資料庫

create database 庫名;

6. 删除資料庫

drop  database  庫名;

7. 建立資料表book

   書名name  價格price  出版社publish  作者author

create table book(

       字段 

類型,

       字段 類型,

   )

   資料類型:int整型   varchar(長度)

       name

varchar(32),

       price

int,

       publish

varchar(64),

       author  varchar(16)

   );

create table author(

       age

int

8. 删除資料表

drop table 表名;

mysql> #檢視資料庫

mysql> show databases;

+--------------------+

| Database           |

| information_schema |

| library            |

| mysql              |

| test               |

4 rows in set (0.00 sec)

mysql> #檢視資料表

mysql> show tables;

+-------------------+

| Tables_in_library |

| author            |

| book              |

2 rows in set (0.00 sec)

mysql> #建立資料庫

mysql> create database shop;

Query OK, 1 row affected (0.00 sec)

ü  Mysql  -h主機名  -u使用者名 

-p密碼  (登陸mysql資料庫)

ü  Show  databases;  (檢視有多少資料庫可供使用)

ü  Use  資料庫名字; (進入資料庫、使用資料庫)

ü  Create  database  資料庫名字;  (建立資料庫)

ü  Drop  database  庫名;     (删除資料庫)

ü  Create  table  (

字段 

類型,

字段  類型

。。。

ü  )     (建立資料表)

Drop  table  表名;  (删除資料表

ü  Drop  table  表名;  (删除資料表)

登入mysql資料庫

啟動服務

Mysql資料庫操作複習,增删改查

說明mysql指令的沒有找到,有相應的程式檔案需要被執行。

解決:

Mysql資料庫操作複習,增删改查

Mysql資料庫操作複習,增删改查

設定環境變量,讓系統自動幫組我們找到mysql指令所對應的執行檔案。

注意:

       ① 我們在對資料庫進行操作的時候,像建立表、删除表等操作,需要進入指定的資料庫,才可以執行操作,否則提示“沒有選擇資料庫”

Mysql資料庫操作複習,增删改查

如果出現以上提示,說明沒有選擇資料庫(use  庫名;)

       ② 每條sql語句後邊都使用”;”分号結束。(use  選擇資料庫除外)

【為資料表添加新的記錄資訊】

一般資料庫操作有4種基本操作:資料的增insert、删delete、改update、查select

為“圖書”表添加新的資料資訊

有一個問題:現在還不知道圖書表有什麼字段可以供操作。

Insert  into  表名  values (單域值,單域值,單域值,……);

有幾個字段,就寫幾個單域值,并且它們是一一比對的。

資料表所有字段資訊都要補全

Php入門   60   清華出版社    韓順平

Insert 

into  book   values 

(‘Php入門’,’60’,’ 清華出版社’,’ 韓順平’);

(‘javascript巧妙用法’,’89’,’ 北大出版社’,’ 古龍’);

有的時候我們添加資料資訊,有的字段不知道是什麼值,這就要求我們可以為指定的字元添加資料資訊

Insert  into  表名  (字段,字段,字段)  values  (單域值,單域值,單域值);

注意:字段與單域值 一一比對。

into  book  (name,publish,author)  values 

(‘css3.0特性介紹’,’鐵道出版社’,’瓊瑤’);

可以針對具體字段添加資料資訊

( 為什麼把代碼複制到editplus裡邊

因為sql語句的标點符号都要求英文輸入法的标點符号 逗号、引号

在word文檔裡邊輸入的标點符号,像單引号  是中文輸入法的單引号。)

Mysql資料庫操作複習,增删改查

Sql語句有報文法錯誤:你的sql語句有文法錯誤,請檢查手冊看看你的sql語句版本是否支援你的sql語句這樣的用法。

【檢視資料表的資料】

資料的增insert、删delete、改update、查select

Select  * 

from  表名;  //注意 

from  不要寫成 

form

l   * 會查詢資料表全部字段資訊

有的時候我們需要查詢指定字段的資訊

比如,我們隻查詢作者的資訊  或者是

書名的資訊

Select  字段,字段,字段  from  表名;

Mysql資料庫操作複習,增删改查

【删除資料表資訊】

Delete  from  表名;

上邊的删除類似“清空”式的删除。

一般我們删除資料,需要指定具體的條件,否則會清空資料表,造成資料庫事故。

一般資料庫管理者還會使用一種方法,使得資料表的資料被清空

Truncate 

表名;  #清空資料表

比如:我們隻删除“php入門”這本書,其他的圖書都保留。這時候sql語句需要有限制條件。

Delete 

from  表名 

where  資料記錄限制條件;

限制條件:圖書的名字等于“php入門”

Delete  from 

book  where  name=’Php入門’;

價格> 具體值

價格< 具體值

根據删除,我們知道在做“查詢”的時候也可以做限制條件。

比如:我想要查詢價格大于70元圖書的資訊。

       在sql語句裡邊,一般“值”的資料都使用引号給括起來,字段無需引号。

       删除資料的時候,要有where條件,否則是清空資料表,造成資料庫事故。

【多條件記錄操作】

mysql> # 查詢圖書價格大于50元并且是北大出版社出版

mysql> select * from book where

price>50 and publish='北大出版社';

+--------------------+-------+------------+--------+

| name               | price | publish    | author |

| javascript巧妙用法 |    89 | 北大出版社 |  古龍  |

| linux常用指令      |    95 | 北大出版社 |  古龍 

|

Sql語句有多種條件做限制,條件間使用“and”連接配接。

【記錄資訊修改】

Update  表名  set  字段=’單域值’   where 

條件;  //隻修改指定條件的單個字段資訊

Update  表名  set  字段=’單域值’, 字段=’單域值’, 字段=’單域值’  where  條件;  //同時會修改多個字段的資訊

Update  表名 set  字段=’單域值’;

 //該用法會把全部資訊記錄都修改,要小心使用

Mysql資料庫操作複習,增删改查

沒有識别字段”pulish”

Mysql資料庫操作複習,增删改查
Mysql資料庫操作複習,增删改查

修改總結:

       我們可以修改一個字段,也可以修改多個字段,中間使用”,”逗号分隔。

       修改的時候語句有where條件限制,如果沒有,則會修改全部資訊記錄。

【主鍵使用】

原則上講每個資料表都應該有主鍵。

主鍵就是資料表裡邊的一個字段。字段裡邊的資訊都是不同,可以唯一确定每條記錄。

一般主鍵的資訊我們使用自動自動增長的數字來表示。

主鍵作用:可以設定資料表裡邊的每條記錄都是唯一的。

生活中也有主鍵的存在:一個人,名字是“張楚生”,‘男’,‘北京’,‘海澱’,如果一個公司裡邊有許多“張楚生”存在,并且它們的資料又極為相似,那麼如何能區分出來不同的“張楚生”,我麼可以通過“身份證号碼”來區分不同的人。

一般習慣上使用”id”代表主鍵,identify 确認、辨別。

真正的主鍵無需我們關心具體的值,它會自動網上增長。

現在我們建立資料表,并且表裡邊有主鍵字段。

CREATE TABLE `book` (

`id` int(11)  primary key 

auto_increment,

`name` varchar(32) default NULL,

`price` int(11) default NULL,

`publish` varchar(64) default NULL,

  `author`

varchar(16) default NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

Primary key: 表示目前字段是主鍵

Auto_increment: 主鍵值會自動增長

Mysql資料庫操作複習,增删改查

(null, 'Php入門','60','清華出版社',' 韓順平');

//比對資料表全部字段,包括主鍵(null表示)

//單域值

的順序是資料表 字段的順序,不要寫亂了。

(null, 'javascript巧妙用法','89','北大出版社',' 古龍');

into  book  (publish,author ,name)  values 

('鐵道出版社','瓊瑤', 'css3.0特性介紹');

//設定具體字段資訊,可以不用考慮主鍵

//字段順序可以自定義安排

(null, 'html精通','30','清華出版社',' 韓順平');

(null, 'linux常用指令','95','北大出版社',' 古龍');

('jquery進階用法','鐵道出版社','瓊瑤');

Mysql資料庫操作複習,增删改查

主鍵是唯一的,不允許重複

Mysql資料庫操作複習,增删改查

我們使用未被占用的主鍵,後邊的主鍵值在此自動增長。

Mysql資料庫操作複習,增删改查

添加資訊記錄的“單域值”沒有全部比對上“字段”的數目。

如果一個資料表有主鍵,我們不用關心它的值,主鍵的值會自動增長并賦予。

主鍵是唯一的,不允許重複主鍵值存在

我們可以使用未被占用的主鍵。之後的主鍵值會在此基礎上自定增長。

原則上每個資料表都有一個主鍵。

總結:

       Mysql資料庫記錄的“增”、“删”、“改”、“查”

       增加insert

       删除delete

       修改update

       查詢select

       修改、查詢、删除: 可以使用where限制條件

       增加:可以增加全部字段資訊、也可以增加指定字段資訊。

       Where

條件設定 多個條件使用and進行連接配接

       Update修改:如果同時修改多個字段資訊,中間使用”,”逗号連接配接

       主鍵使用。

繼續閱讀