您好,登錄后才能下訂單哦!
本文主要給大家介紹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ù)
常見數(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表示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è)資訊欄目的。
免責(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)容。