溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL基礎(chǔ)入門知識(shí)你掌握了嗎

發(fā)布時(shí)間:2020-05-19 15:55:11 來源:網(wǎng)絡(luò) 閱讀:152 作者:三月 欄目:數(shù)據(jù)庫

文主要給大家介紹MySQL基礎(chǔ)入門知識(shí),文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對(duì)性,對(duì)大家的參考意義還是比較大的,下面跟筆者一起了解下MySQL基礎(chǔ)入門知識(shí)吧。

一、安裝篇:

sudo apt-get install mysql-server  #下載
(sudo apt-get install php5-mysql(安裝php5-mysql 是將php和mysql連接起來 ) )
sudo service mysql start #啟動(dòng)服務(wù)
sudo service mysql restart #重啟服務(wù)
sudo apt-get autoremove --purge mysql-server-5.0sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common  ##卸載服務(wù)
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P #徹底清理

離線包安裝

  group add mysql

     mkdir /home/mysql

  useradd -g mysql -d /home/mysql mysql    #添加用戶

     copy mysql-5.0.45-linux-i686-icc-glibc23.tar.gz到/usr/local目錄

     tar zxvf mysql-5.0.45-linux-i686-icc-glibc23.tar.gz

  ln -s mysql-5.0.45-linux-i686-icc-glibc23 mysql

     cd /usr/local/mysql

  chown -R mysql .

  chgrp -R mysql .

   scripts/mysql_install_db --user=mysql (一定要在mysql目錄下執(zhí)行,注意輸出的文字,里邊有修改root密碼和啟動(dòng)mysql的命令)

   ./bin/mysqladmin -u root password 'passw0rd'  #修改root密碼

配置

目錄為/etc/mysql/mysql.cnf

/etc/mysql/conf.d/

/etc/mysql/mysql.conf.d/

主要配置:

bind-address 127.0.0.1(默認(rèn))

port 3306(默認(rèn))

datadir /var/lib/mysql(默認(rèn))

general_log_file /var/log/mysql/mysql.log

log_error /var/log/mysql/error.log


可選客戶端navicat(圖形界面)

tar zxvf navicat....tar.gz

./start_navicat


二、命令模式的操作

mysql -u root -p #登錄

quit 退出

show databases;

use databasename1;

select database(); #查看當(dāng)前使用的數(shù)據(jù)庫

create database databasename1 charset=utf8;

drop database databasename1


三、數(shù)據(jù)

  1. 常見數(shù)據(jù)類型 

 int bit 整數(shù)

 decimal 小數(shù)

 varchar char字符串

 date time datetime 日期時(shí)間

 decimal(5,2)表示5位數(shù),小數(shù)點(diǎn)后有兩位

 varchar(3)和char(3)的區(qū)別:后者在填充2位的時(shí)候會(huì)自動(dòng)補(bǔ)個(gè)空格

2.約束

 primary key:主鍵,物理上存儲(chǔ)的順序,滿足第二范式

 not null:該字段不允許填寫空值

 unique: 字段的值不允許重復(fù)

 default: 當(dāng)不填寫此值時(shí)會(huì)使用默認(rèn)值,如果填寫時(shí)以填寫為準(zhǔn)  

 foreign key:對(duì)關(guān)系字段進(jìn)行約束,當(dāng)為關(guān)系字段填寫值時(shí),會(huì)到關(guān)聯(lián)的表中查詢此值是否存在,  如果存在則填寫成功,如果不存在則填寫失敗并拋出異常

 說明:雖然外鍵約束可以保證數(shù)據(jù)的有效性,但是在進(jìn)行數(shù)據(jù)的crud(增加、修改、刪除、查詢)  時(shí),都會(huì)降低數(shù)據(jù)庫的性能,所以不推薦使用,那么數(shù)據(jù)的有效性怎么保證呢?答:可以在邏輯層進(jìn)  行控制

四、數(shù)據(jù)庫設(shè)計(jì)

   三范式
  • 經(jīng)過研究和對(duì)使用中問題的總結(jié),對(duì)于設(shè)計(jì)數(shù)據(jù)庫提出了一些規(guī)范,這些規(guī)范被稱為范式

  • 數(shù)據(jù)庫設(shè)計(jì)中一共有6個(gè)范式,一般需要遵守3范式即可

  • 第一范式(1NF):數(shù)據(jù)庫表的每一列都是不可分割的原子數(shù)據(jù)項(xiàng),即列不可拆分

  • 第二范式(2NF):建立在第一范式的基礎(chǔ)上,要求數(shù)據(jù)庫表中的每個(gè)實(shí)例或記錄必須可以被唯一地區(qū)分,即唯一標(biāo)識(shí)

  • 第三范式(3NF):建立在第二范式的基礎(chǔ)上,任何非主屬性不依賴于其它非主屬性,即引用主鍵

 

  E-R模型
  • E表示entry,實(shí)體,設(shè)計(jì)實(shí)體就像定義一個(gè)類一樣,指定從哪些方面描述對(duì)象,一個(gè)實(shí)體轉(zhuǎn)換為數(shù)據(jù)庫中的一個(gè)表

  • R表示relationship,關(guān)系,關(guān)系描述兩個(gè)實(shí)體之間的對(duì)應(yīng)規(guī)則,關(guān)系的類型包括包括一對(duì)一、一對(duì)多、多對(duì)多

  • 關(guān)系也是一種數(shù)據(jù),需要通過一個(gè)字段存儲(chǔ)在表中

  • 實(shí)體A對(duì)實(shí)體B為1對(duì)1,則在表A或表B中創(chuàng)建一個(gè)字段,存儲(chǔ)另一個(gè)表的主鍵值

 邏輯刪除
  • 對(duì)于重要數(shù)據(jù),并不希望物理刪除,一旦刪除,數(shù)據(jù)無法找回

  • 刪除方案:設(shè)置isDelete的列,類型為bit,表示邏輯刪除,默認(rèn)值為0

  • 對(duì)于非重要數(shù)據(jù),可以進(jìn)行物理刪除

  • 數(shù)據(jù)的重要性,要根據(jù)實(shí)際開發(fā)決定

看完以上關(guān)于MySQL基礎(chǔ)入門知識(shí),很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識(shí)信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI