mysql使用總結,mysql總結

來源:互聯網
上載者:User

mysql使用總結,mysql總結
資料庫管理系統DBMS

DBMS,Database Management System資料庫管理,簡單說:就是管理資料的一個大型軟體。DBMS主要對資料進行管理、維護等操作,或者對資料的安全性和完整性的處理。

常見的DBMS系統:

ACCESS:Microsoft公司開發的小型資料庫管理系統;

SQL SERVER:Microsoft公司開發的,面向大中型網站;

Oracle:美國甲骨文公司開發的,大型或超大型資料方面的應用;

MySQL:完美組合Linux+Apache+PHP+MySQL,MySQL是瑞典AB公司開發,現在被Oracle收購了。

資料庫中相關概念

資料庫:是存放資料的一個倉庫。比如:相當於系統中的檔案夾。像公司的一個檔案櫃。

      

資料表:就是存放資料的具體的場所。相當於系統中的不同類型的檔案。像公司的一個檔案。

 

記錄:資料表中的一行內容,稱為“一條記錄”

因此,我們在建立資料表時,一定要建立一個id列,用於標識“這是第幾條記錄”,id列的值不能相同,必須唯一,就相當於社會安全號碼一樣。

欄位:一個表中的各個列,就叫“欄位”,在資料庫中的每個欄位,都是有規定的,比如:欄位的資料類型、空與不空的判斷、自動成長等。

 

資料:行和列的交叉處,就是真正的“資料”。

   MySQL操作:(1)使用phpMyAdmin軟體操作(2)在MySQL用戶端來操作(也就是DOS命令列下)

 

登入和退出MySQL用戶端


一、登入MySQL用戶端

文法格式:mysql   –h主機名稱或ip地址   -u使用者名稱   -p密碼

舉例:mysql –hlocalhost   -uroot   -proot

參數說明:

       -h:代表MySQL的主機名稱或IP地址,如:-h127.0.01   -hlocalhost

       -u:代表MySQL中的使用者名稱,預設是root

       -p:代表MySQL中用記的密碼,預設是root

注意:

文法中各個段之間用空格分開; 如果你不想讓別人看到你輸入的密碼,在登入MySQL用戶端可以先不輸密碼,直接斷行符號,會提示輸入密碼,這時候的密是以“*”號顯示;安裝完phpStudy之後,只有一個root使用者,它是超級管理員。


二、退出MySQL用戶端的命令

exit或quit

在DOS命令列下,可以使用鍵盤上的“上下箭頭”來把曾經使用過的命令重新調出來執行。

 

三、修改root使用者的密碼

1、使用 mysqladmin.exe 程式來進行修改(在DOS命令下)

       C:\>mysqladmin.exe  –hlocalhost  –uroot  –proot password  新密碼

      注意:mysqladmin.exe這命令的使用,是在DOS命令使用,並不是MySQL的用戶端。新密碼可以不加引號;

 

2、在MySQL用戶端來修改密碼(當前帳號的密碼)

文法格式:

                     Mysql>  set password=password(‘新密碼’);

注意:

password( )是MySQL的一個加密函數

        md5( )是PHP中的一個加密函數

 

資料庫操作

一、建立資料庫

文法:Create Database [IF NOTEXISTS] db_name [CHARSET]

參數:

       CreateDatabase是建立資料庫的命令;

       [IFNOT EXISTS]是可選項,如果不存在,再進行建立;

       db_name:是要建立的資料庫的名稱,命名方式跟變數一樣,但不加$符號;

       [CHARSET]設定資料庫的字元集,如果不設定會用MySQL的預設字元集latin1;

舉例:

       CREATEDATABASE IF NOT EXISTS zhangsan CHARSETutf8;

       CREATEDATABASE zhangsan;  //使用的是預設字元集latin1

 

二、顯示所有資料庫

文法:show databases

 

三、刪除資料庫

文法:DROP DATABASE [IF EXISTS] db_name

說明:

       Dropdatabase是刪除資料庫的命令;

       [IFEXISTS]是可選項,如果存在,再進行刪除,不會出現出錯的資訊;

舉例:

       DROPDATABASE IF EXISTS zhang;   //刪除資料庫zhang

四、選擇資料庫

文法:USE db_name


五、更改資料庫預設字元集

1、更改MySQL的設定檔:C:\Program Files (x86)\phpStudy\MySQL\my.ini

       用戶端(Client Section):default-character-set=gbk

       伺服器端(Server Section):default-character-set=latin1

2、在MySQL用戶端使用命令修改

       ALTER DATABASE  dbname  DEFAULT CHARACTER SET   gbk

 

 

資料表操作

一個網站可以有多張表:新聞表、管理員表、產品表、留言表.

一、顯示當前資料庫中的所有表

文法:show tables  FROM db_name

說明:查詢某一個資料庫中的所有的表

二、建立資料表

文法結構:

CREATE TABLE table_name(

       列名1 列的類型類型   列的屬性,

       列名2 列的資料類型   列的屬性,

       列名3 列的資料類型   列的屬性

)

參數說明:

       列名1,指定每個欄位的名稱,命名跟變數一樣;

       列的資料類型:指定每個欄位儲存什麼樣的資料;

       列的屬性:對列更詳細的設定

舉例:

CREATE TABLE 007_news(       id          int                        notnull auto_increment primary key,       title         varchar(50)            not null,       content    text                       null,       addate     int(12)                  not null);

 

列的常用屬性

(1)not null | null 指定列的值可以為空白,還是不空,預設為null,一般id欄位不可為空;

(2)DEFAULT default_value ,設定某個列的預設值,預設值可以是字串或數字。

              舉例:sex  tinyint  not null  DEFAULT 1;

(3)auto_increment:指定某個列為自動成長型,一般是指為id欄位,可以保證id的值永不重複;

(4)primary key:是主鍵索引。主鍵索引必須給具有auto_increment屬性的欄位來添加。主鍵索引只能是一個,其它的都是普通索引。

       索引:就相當於一本書的目錄索引,通過目錄查詢要看的內容,比直接翻書翻到要快得多。

       id欄位是每個資料表都必須有的欄位,id欄位必須具有這三個屬性:not null、auto_increment、primarykey。

 

三、修改資料表

       文法:ALTER TABLE table_name ……

       提示:使用phpMyAdmin來修改資料表

 

四、刪除資料表

       文法:DROP TABLE table_nameFROM db_name

 

五、顯示表結構

       文法:Describe table_name或者Desc table_name

       功能:顯示某一個表的結構



MySQL資料類型

整型、浮點型、字元型、文本型、日期型

 

一、整型

       tinyint:最小整數,1個位元組表示,-128~127(帶符號) 0-255、如:性別、郵件是否已讀

       smallint:小型整數,2個位元組表示,0-65535,如:工資

       mediumint:中型整數,3個位元組表示,0-1677萬

       int:一般整數,4個位元組表示,0-42億,如:文章的點擊率

       bigint:大型整數,8個位元組表示,2^64-1

 

二、浮點型

       float(m,d):可以精確到小數點後7位,m代表總長度,d代表小數位元;

              float(6,2):表示總長度為6位(不含小數點),小數位元是2位。如:1200.65

       double:可以精確到小數點後15位。

三、字元型

       char(M):固定寬度,取值範圍0-255個字元,如:新聞標題、貼子標題等

              char[10],假設我存了5個字元,其它的空間會用空格填充。

              參數M指定欄位的寬度;

       varchar(M):自動調整型,取值範圍0-65535個字元,如:新聞標題、貼子標題等

              varchar(10),假設我存了5個位元組,它的長度應該是6,這裡多出的1是字元長度。

四、文本型

TINYTEXT,1個位元組,0-255個字元

TEXT,2個位元組,0-65535個字元

MEDIUMTEXT,3個位元組,0-1677萬個字元

LONGTEXT,4個位元組,0-42億個字元

五、日期時間型

       Date:格式YYYY-MM-DD儲存,如:2014-08-01

       Time:格式HH:mm:ss儲存,如:12:09:30

       Datetime:格式YYYY-MM-DD HH:mm:ss儲存

       Timestamp:格式YYYY-MM-DD HH:mm:ss

 

$addate = time();

Date(“Y-m-d H:i;s”);

 

注意:在MySQL的用戶端如何顯示簡體中文?

因為MySQL的用戶端預設字元集,應該是GBK,因此顯示時,要把當前的顯示字元集改為GBK;

格式:set names gbk

只需要設定數組庫的字元集,資料表將繼承資料庫中的字元集。

 

show命令

1、顯示MySQL主機的所有資料庫:SHOWDATABASES;

2、顯示某個資料庫中的所有表格:SHOW TABLES [FROM db_name];

3、顯示建立資料庫時的語句:SHOW create database db_name

4、顯示某個資料庫中表的結構:SHOW TABLE table_name [FROM db_name]

SQL簡介

SQL,Structured Query Language結構化查詢語言 (SQL)。SQL是操作和管理資料庫的語言。

常用的SQL語句:增加、刪除、修改、查詢。

 

一、增加資料 INSERT INTO

文法:INSERT INTOtable_name(title,author,content,addate) VALUES(‘從8月開始每個人都可以申請城市戶口’,’admin’,’內容……’,11010101010)

注意事項:

(1)      欄位列表與值的內容列表,個數和順序必須一致;

(2)      id欄位不需要管它,它是自動成長型。

 

二、刪除記錄DELETE FROM

文法:DELETEFROM table_name [WHERE條件]

舉例:

       DELETEFROM news WHERE id=3;  //刪除id=3的記錄

       DELETEFROM news WHERE id<4;  //刪除id<4的記錄

       DELETEFROM news WHERE id>10 and id<20; //刪除20>id>10的記錄

       DELETEFROM news WHERE id>10 or author=’admin’ ; //刪除id>10的所有記錄,或者author=’admin’記錄

 

TRUNCATE table_name

功能:刪除所有資料,並重新將id值歸0.

說明:與deletefrom刪除全部資料要快的多。

舉例:TRUNCATEnews

 

三、修改記錄 UPDATE SET

文法:UPDATEtable_name SET 欄位1=新值1,欄位2=新值2 [WHERE條件]

注意:更新資料時,一定要指定WHERE條件,否則,整個表都會更新為一樣

舉例:

       UPDATEnews SET author=’zhangsan’,hits=100000 WHERE id=120  //id=120的記錄修改

       UPDATEnews SET title=’新聞的新標題’ WHEREid=130; 

       ……

 

四、查詢資料SELECT

文法:SELECT *|欄位列表 FROM table_name [WHERE條件][ORDER BY欄位 ASC|DESC] [LIMIT限定輸出的結果]

參數:

       *:將列出所有欄位的資料,一般是當欄位少的時候才用;

       欄位列表:指定要查詢的欄位,多個欄位間用逗號隔開,如:SELECT id,title,addate FROM 007_news

       [WHERE條件]指定查詢的條件;

       [ORDERBY]對哪些欄位進行排序,排序分升序(ASC)和降序(DESC)

       [LIMIT]限制輸出的記錄數

 

WHERE條件子句

Like運算子:實現欄位模糊查詢,比如:查詢所有標題中含有北京的所有記錄。

%:相當於windows系統中的搜尋中的匹配符號“*”

       WHEREtitle LIKE ‘%北京%’;   //標題中含有北京的記錄

       WHEREauthor LIKE ‘a%’;     //查詢以“a”字元開頭的作者

       ……

 

 

 

Order By排序子句

       對一個欄位或多個欄位進行排序,排序的關鍵字有兩個:升序(ASC)預設、降序(DESC)

SELECT * FROM news ORDER BY id DESC  //對id欄位進行降序排列

SELECT * FROM news ORDER BY author ASC,addate DESC  //作者升序排列,時間倒序排列

             

 

 

Limit子句

       限定要輸出的記錄數。

       文法:LIMIT startrow,rows

       參數:startrow表示開始行號,rows表示要顯示多少條記錄

       提示:LIMIT語句主要應用於 ,網頁的資料分頁。

       舉例:LIMIT 0,10   //從第0行起,輸出10條記錄,不包括第0行。

                LIMIT 1,10  //從第1行起,輸出10條記錄,不包括第1行。

                LIMIT 15,10 //從第15行起,輸出10條記錄,不包括第15行。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.