PHP之Mysql編程 二(增刪改查和基本數(shù)據(jù)類型)

在數(shù)據(jù)庫里面操作表:



①:首先要打開數(shù)據(jù)庫:

操作如下:?

use?db_name;

?

②:其次要寫表信息:

操作模版如下:

?

mysql>?create??table???tb_name

->?(

->?列信息

->?)[表選項];

?

?

操作實例如下:

mysql>create?table?score

?????->(

?????->stu?int,

?????->name?varchar(20),

?????->ke?varchar(10),

?????->fen?int

?????->);

記住:

①:內(nèi)容被圓括號包含,而不是花括號

②:每個內(nèi)容以逗號,結(jié)尾

③:最后的一個元素沒有,逗號

????④:表名不能以數(shù)字開頭;

?

?

修改表名:(數(shù)據(jù)庫名是不能改的)

rename?table?old_tb_name?to?new_tb_name;

?

?

查看表:(查看表的個數(shù))

show?tables;

?

?

?

描述表:(查看表的結(jié)構(gòu))

?

??desc?tb_name;???(desc?表示describe)

示例:?desc??newscore;?

?

?

刪除表:

drop?table?tb_name;

?

退出:

\c

用法:清空當(dāng)前陳述,發(fā)現(xiàn)自己打錯了的時候用。

?

?

數(shù)據(jù)庫的增刪改查:

增:

增以行為單位,可以增加某一列的信息,也可以增加一整行的信息。

模板:

insert?into?tb_name

(表頭1,表頭2,表頭3,表頭4,表頭5)??----如果此處什么都不寫,表示每個變量都要給值!!

values

(內(nèi)容1,內(nèi)容2,內(nèi)容3,內(nèi)容4,內(nèi)容5);

?

例如:

insert??into?massage

(id,name,title,content,date)

values

(1,'余亮','第二天學(xué)mysql','我一定要挺過來','2015/8/16');

?

插入列:

alter?table?tb_name?add?列名?varchar(10);

?

小技巧:

可以一次增加多行;

?

查:

select?*?from?tb_name?where?表達(dá)式;

可以加條件查看表;查看部分列部分行

注:?name,content表示查看的列,

?????id>2表示查看的行;

?

改:

模版:

update?tb_name

set

表頭=值,??(要改的行的?內(nèi)容)

表頭=值?(要改的行的?內(nèi)容)

where

表達(dá)式;?(通過原值定位行)

?

示例:

update?massage

set

id=2,

content=’今天沒遲到’

where

id=1;

?

?

注意:

where?前面的值后沒有,逗號。

?

刪:

delete?from?massage?where?表頭=’內(nèi)容’;

delete?from?massage?where?content=’今天沒遲到’;

?

?

?

列的默認(rèn)值:

設(shè)置格式:

not?null?default?值;

示例:

在插入一個列的時候,可以聲明獵德默認(rèn)值:

如:

?alter?table?feature?add?homenum?tinyint?unsigned?not?null?default?0;

解釋圖中圈紅地方的意思:

Null:

下面的YES表示該列的值可以為NULL,表示未設(shè)默認(rèn)值

下面的NO表示該列的值不可以為NULL,表示已設(shè)默認(rèn)值

Default:

下面的NULL表示默認(rèn)值為NULL,表示未設(shè)默認(rèn)值。

如果下面的值為非NULL,則表示已設(shè)置默認(rèn)值。

?

?

?

詳解列類型:

引子:建表就是聲明列的過程,聲明列直接影響數(shù)據(jù)庫占用硬盤的大小,所以列類型很重要。

?

①:數(shù)值型:

1:整型:

?分五類?:

??tinyint??????

??smallint

??mediumint

??int

??highint

?

?

以數(shù)學(xué)的角度討論以上五種整型;

1.占據(jù)空間

2.存儲范圍

整型默認(rèn)為有符號位

?

?

?

整型列的可選屬性:

1.tinyint(M)?

??M代表寬度,只有在zerofill下才有意義;

2.unsigned

?作用:聲明整型為無符號位,影響存儲范圍。

?用法:放在int?關(guān)鍵字后面;

?示例:int?unsigned;

3.zerofill

?零填充(如果某列為zerofill,默認(rèn)就是無符號);

?

2.1浮點型/小數(shù)型:

定義格式:

float(M,D),

double(M,D)

M:精度(總位數(shù),不含小數(shù)點)

D:標(biāo)度(小數(shù)位數(shù))

float?(4,2)的范圍是?-99.99~+99.99

提示:float?double對小數(shù)部分非常不準(zhǔn)確,所以記賬不能用浮點數(shù);

?

2.2定點數(shù):

decimal(M,D)

或者numbric也是一樣的。

它是以字符串的形式存放,很精確;

記賬一般使用decimal;

關(guān)于定點數(shù)和浮點數(shù)的區(qū)別,下面的兩個鏈接繼續(xù)說明:

http://m.blog.csdn.net/blog/moqiang02/40616467#

http://www.educity.cn/wenda/399662.html

3:字符型

?

?分三種:

?char(M)??

定長字符串,M代表寬度,即可容納的字符數(shù),始終占M個字符

細(xì)節(jié):???

????當(dāng)實際存的字符串N<M,那么尾部則以空格填充

????當(dāng)取出該字符串時,將空格去掉。

?

弊端:1.當(dāng)存放的數(shù)據(jù)尾部有空格時會被去掉

??????2.容易造成浪費(fèi);

好處:1,存放的字符沒有限制。

??????2.利用率可能是100%

??????3.速度快。

?Varchar(M)?

?變長字符串,M代表寬度,即可容納的字符數(shù),設(shè)N<M,寬度為N,占N個字符;

細(xì)節(jié):

???存放的是數(shù)據(jù)加長度,即i個字符+(1~2個字節(jié));

???這里的字節(jié)是指字符的個數(shù);

utf-8:??一個字符占1個字節(jié)。?一個漢字占3個字節(jié)。

?0<M<65535?,?在utf-8中?大約能存22000個左右漢字;

?

缺點:存放的字符只能是22000左右。

??????占用率小宇100%。

??????速度慢。

?

區(qū)別總結(jié):

1.存儲的數(shù)據(jù)大小有區(qū)別

2.空間利用率有區(qū)別

3.對空格的處理有區(qū)別

char與varchar的選擇:

1.空間利用效率,四字成語表,char(4),

???????????????個人簡介,微博140字,varchar(140).

?

2速度

?用戶:?用char(浪費(fèi)不了多少空間)

?test:

文本串:

?特點:可以存放較大的內(nèi)容,但是速度稍慢;

備注:不能給test類型的變量加上默認(rèn)值

提示:內(nèi)容不大時用char?,?varchar

?

?

4:日期型:

year:

表示年份

一個字節(jié),表示1901~2155;.

如果輸入兩位,“00~69”表示2000~2069

??????????????“70~99”表示1970~1999

date:

表示日期

典型格式:

1992-08-01

日期類型:‘10000-1-1?到?9999-12-31’

time:

表示時間:

hh:mm:ss

1.表示時間?

2.表示時間間隔

?范圍:?‘-838’59’’59’’’~838’59’’59’’’’

datetime:

表示日期和時間:

典型格式:

‘1984-03-21?11:35:33’

?

總結(jié):

在實際php開發(fā)中,可以用時間戳表示,意思是從1970-01-01?00:00:00到當(dāng)前的秒數(shù);

函數(shù)是?time()

將時間戳轉(zhuǎn)化為日期

date(‘Y-m-d’,time());

?

5.enum

enum是個類型

?

典型格式:

?

sex?enum{‘男’,‘女’};

?

缺點:不是元信息,里面有內(nèi)在關(guān)聯(lián):enum的值可以新建一個表,不符合關(guān)系型數(shù)據(jù)庫的設(shè)計理念。

**************************以上為第二天內(nèi)容***********************************

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 一、什么是數(shù)據(jù)庫:(數(shù)據(jù)庫軟件) 1).什么是"數(shù)據(jù)庫": 從字面上理解就是一個"存儲數(shù)據(jù)的倉庫",它本身是一個軟...
    七點的太陽丶夕陽閱讀 646評論 0 2
  • 本文基于MySQL5.6版本進(jìn)行描述從大的方面來講,MySQL的數(shù)據(jù)類型分為4種 數(shù)值類型 日期和時間 字符串類型...
    黑哥兒666閱讀 806評論 0 0
  • CREATE TABLE IF NOT EXISTS ecs_order_info (order_id mediu...
    cookie口閱讀 16,132評論 0 16
  • 那幾天,丁醫(yī)生被一只瓶子攪得心神不寧。 自從他第一眼見到那只瓶子,就迷戀上了它,一見鐘情,回家后朝思暮想,茶飯不香...
    歡喜軒閱讀 341評論 0 4

友情鏈接更多精彩內(nèi)容