數(shù)據(jù)庫常用知識(shí)總結(jié)

數(shù)據(jù)庫常用知識(shí)總結(jié)

  1. 查看當(dāng)前mysql中所有的數(shù)據(jù)庫命令:
    show databases;
  2. 使用某個(gè)數(shù)據(jù)庫(如:zhiliao):
    use zhiliao;
  3. 查看數(shù)據(jù)庫的信息(如:zhiliao):
    show create database zhiliao;
  4. 修改數(shù)據(jù)庫選項(xiàng),如修改zhiliao這個(gè)數(shù)據(jù)庫的字符編碼:
    alter database zhiliao charset utf8;
  5. 刪除數(shù)據(jù)庫(如:zhiliao):
    drop database zhiliao;
  6. 創(chuàng)建數(shù)據(jù)庫(如:zhiliao):
    create database if not exists zhiliao;
  7. 創(chuàng)建表(如:article):
    create table article (id int primary key auto_increment,title varchar(255)) engine=innodb charset=utf8;
  8. 查看當(dāng)前數(shù)據(jù)庫有哪些表:
    show tables;
  9. 查看建表語句(如:article):
    show create table article;
  10. 查詢表結(jié)構(gòu)(如:article):
    desc article;
  11. 修改表選項(xiàng)(表引擎和字符集,如:article):
    alter table article engine=myisam charset=gbk;
  12. 修改表名(如:修改artielc成blog):
    rename table article to blog;
  13. 修改表結(jié)構(gòu)——增加字段(如:article):
    alter table article add column content text after title;
    語法如下:alter table_name add column 字段名稱和類型 字段位置
  14. 修改表結(jié)構(gòu)——?jiǎng)h除字段(如:article):
    語法:alter table_name drop column column_name; alter article drop column content;
  15. 修改表結(jié)構(gòu)——修改已有字段(如:article):
    語法:alter table table_name modify column column_name 新的定義 alter table article modify column content varchar(200) after id;
  16. 修改表結(jié)構(gòu)——字段改名(如:article):
    語法:alter table table_name change column原字段名 新字段名 新字段定義 alter table article change column content arti_content text after title;
    17. 刪除表(如:article):
    語法:drop table if exists 表名 drop table if exists article;
  17. 數(shù)據(jù)操作——增加(如:article):
    語法:insert into 表名 (字段列表) values(與字段相對(duì)的值列表) insert into article (id,title,content) values(null,’鋼鐵是怎樣煉成的’,content=’’); 如果id是自增長的,可以不用寫,或者寫了,直接給個(gè)null。如果不是自增長的,則必須寫。只有在一些不能暴露數(shù)據(jù)量的情況下才會(huì)考慮使用非自增長的id,因?yàn)閕d必須唯一,所以如果不是子增長的,一般采用uuid
  18. 數(shù)據(jù)操作——查詢(如:article):
    語法:select 字段列表 from 表名 [where 條件表達(dá)式] select id,title ,content from article where id > 5;
  19. 數(shù)據(jù)操作——?jiǎng)h除(如:article):
    語法:delete from 表名 where 條件 delete from article where id=10;
  20. 數(shù)據(jù)操作——更新(如:article):
    語法:update 表名 set 字段=新值 where 條件; update article set title=’水滸傳讀后感’ where id=10;
  21. Mysql的數(shù)據(jù)類型:
(1)整形(tinyint/smallint/mediumint/int/bigint):
常用的是tinyint和int。
如果需要設(shè)置大于0的,可以使用無符號(hào)整形:int unsigned。
如果需要設(shè)置整形在選擇出來的時(shí)候顯示的寬度,可以使用int(M)這種方式。
注意:mysql中,沒有布爾類型!但是存在boolean這個(gè)關(guān)鍵字,其實(shí)是用tinyint(1)替代的。
(2)浮點(diǎn)型(float/double):
單精度,float,4個(gè)字節(jié)
雙精度,double,8個(gè)字節(jié)
在定義浮點(diǎn)數(shù)的時(shí)候,一般需要指明有小尾數(shù)和小數(shù)點(diǎn)后的位數(shù)
float(M,D)
double(M,D)
M:所有的有效位數(shù)
D:其中的小數(shù)位數(shù)
浮點(diǎn)數(shù)只是一個(gè)近似值,不是精確值!如果一個(gè)數(shù)特別大,接近最大值,很可能會(huì)出錯(cuò),比如:
這個(gè)時(shí)候,應(yīng)該使用定點(diǎn)數(shù)。
(3)定點(diǎn)數(shù)(decimal):
與定義浮點(diǎn)數(shù)一樣,也有有效位數(shù)和小數(shù)點(diǎn)后尾數(shù),但他不是以數(shù)的形式存儲(chǔ),他存儲(chǔ)是類似于字符串的形式。
decimal(M,D)
(4)字符類型(char/varchar/text):
char:定長的字符串類型,用于保存長度固定的內(nèi)容,速度快,但是保存變長數(shù)據(jù),會(huì)浪費(fèi)存儲(chǔ)空間!
varchar:可變長度的字符串,用于保存長度可變的數(shù)據(jù),保存長度可變的數(shù)據(jù)時(shí),節(jié)省空間,但是處理起來沒有定長char快!
char(N)/varchar(N):N表示每個(gè)數(shù)據(jù)的最大長度!單位是字符數(shù),不是字節(jié)數(shù)。
N不是可以無限大的,最大不能超過65535,又由于一個(gè)字段中需要1到2個(gè)字節(jié)保存真實(shí)的數(shù)據(jù)長度,所以一般只能達(dá)到65533左右個(gè)字符。另外,因?yàn)樽址煌锌赡苁莡tf8有可能是gbk,所以不同的字符集,能保存的最大長度的字節(jié)數(shù)也是不同的。
注意:平時(shí)我們使用時(shí),如果超過255個(gè)字符,就使用text來保存!
text:文本,不限度的字符串。
選擇規(guī)則:
如果是定長,使用char。
如果是變長,但是小于255個(gè)字符,使用varchar
否則,使用text。
(5)枚舉(enum):
在定義枚舉類型的時(shí)候,需要列出哪些是能出現(xiàn)的,例如:
注意,插入的時(shí)候,不僅僅可以使用字符,也可以使用整形,比如以上圖,1表示male,2表示female,3表示secret,以此類推。
那么在插入數(shù)據(jù)的時(shí)候,可以使用整形,比如:
enum是2個(gè)字節(jié),范圍從0-65535,因此最多可以有65535個(gè)選項(xiàng)。
(6)日期時(shí)間(datetime/timestamp/date/year/time/):
datetime:日期時(shí)間,用于保存大范圍的日期時(shí)間,范圍是從:
‘1000-01-01 00:00:00’到’9999-12-31 23:59:59’
在處理的時(shí)候,是使用字符串的形式進(jìn)行管理。
timestamp:時(shí)間戳,從1970-1-1開始,空間小,使用整形的形式管理,但是是以一個(gè)字符串的形式展示的。
date:日期,只記錄日期,不記錄時(shí)間采用date。
year:只保存年份,采用一個(gè)字節(jié)保存,因此表示1901-2155。

如果您對(duì)網(wǎng)絡(luò)技術(shù)和Python方面有興趣,歡迎加群526929231進(jìn)行交流學(xué)習(xí)哦!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • MySQL 數(shù)據(jù)庫常用命令 1、MySQL常用命令 create database name; 創(chuàng)建數(shù)據(jù)庫 use...
    55lover閱讀 4,829評(píng)論 1 57
  • 系統(tǒng)用戶: 1.sys system(sys權(quán)限最高) 2.sysman(操作企業(yè)管理器) 密碼是安裝的時(shí)候輸入的...
    3hours閱讀 1,602評(píng)論 0 0
  • SQL SELECT 語句 一、查詢SQL SELECT 語法 (1)SELECT 列名稱 FROM 表名稱 (2...
    有錢且幸福閱讀 5,686評(píng)論 0 33
  • 90后的童年,比現(xiàn)在孩子的多出許多樂趣。但那時(shí)候的我,像多數(shù)普通家庭的孩子一樣,有著自己不得而知的不幸。 印象中的...
    TKJun閱讀 633評(píng)論 14 24
  • 思念是最真實(shí)的表達(dá) 如同夢(mèng)里的花香 帶著青澀味道 總是讓人難以割舍和遺忘 把自己關(guān)在心造的監(jiān)獄里 帶著一身的疲憊 ...
    醴泉老魏閱讀 185評(píng)論 0 1