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

mysql使用總結

編輯: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客戶端<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjwvcD4KPHA+0++3qCYjMjY2ODQ7yr2jum15c3FsICAgqENo1ve7+sP7u/JpcLXY1rcgICAtddPDu6fD+yAgIC1ww9zC6zwvcD4KPHA+vtnA/aO6PHN0cm9uZz5teXNxbCCoQ2hsb2NhbGhvc3QgICAtdXJvb3QgICAtcHJvb3Q8L3N0cm9uZz48L3A+CjxwPrLOyv3LtcP3o7o8L3A+CjxwPiAgICAgICAtaKO6tPqx7U15U1FMtcTW97v6w/u78klQtdjWt6OsyOejui1oMTI3LjAuMDEgICAtaGxvY2FsaG9zdDwvcD4KPHA+ICAgICAgIC11o7q0+rHtTXlTUUzW0LXE08O7p8P7o6zErMjPysdyb290PC9wPgo8cD4gICAgICAgLXCjurT6se1NeVNRTNbQ08O8x7XEw9zC66OsxKzIz8rHcm9vdDwvcD4KPHA+PHN0cm9uZz7XotLio7o8L3N0cm9uZz48L3A+CjxwPtPvt6jW0Lj3uPa2ztauvOTTw7/VJiMyNjY4NDu31r+qo7sgyOe5+8TjsrvP68jDsfDIy7+0tb3E48rkyOu1xMPcwuujrNTatcfCvE15U1FMv827p7bLv8nS1M/IsrvK5MPcwuujrNaxvdO72LO1o6y74czhyr7K5Mjrw9zC66Os1eLKsbrytcTD3MrH0tShsCqhsbrFz9TKvqO7sLLXsM3qcGhwU3R1ZHnWrrrzo6zWu9PQ0ru49nJvb3TTw7uno6zL/MrHs6y8trncwO3UsaGjPC9wPgo8cD48L3A+CjxwPjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20150104/20150104095545204.png" alt="\">

二、退出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 CHARSET utf8;

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_name FROM 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語句:增加、刪除、修改、查詢。

一、增加數據 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行。

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