您好,登錄后才能下訂單哦!
本文主要給大家介紹MySQL基礎入門知識,文章內容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下MySQL基礎入門知識吧。
一、安裝篇:
sudo apt-get install mysql-server #下載 (sudo apt-get install php5-mysql(安裝php5-mysql 是將php和mysql連接起來 ) ) sudo service mysql start #啟動服務 sudo service mysql restart #重啟服務 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 ##卸載服務 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目錄下執行,注意輸出的文字,里邊有修改root密碼和啟動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(默認)
port 3306(默認)
datadir /var/lib/mysql(默認)
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(); #查看當前使用的數據庫
create database databasename1 charset=utf8;
drop database databasename1
三、數據
常見數據類型
int bit 整數
decimal 小數
varchar char字符串
date time datetime 日期時間
decimal(5,2)表示5位數,小數點后有兩位
varchar(3)和char(3)的區別:后者在填充2位的時候會自動補個空格
2.約束
primary key:主鍵,物理上存儲的順序,滿足第二范式
not null:該字段不允許填寫空值
unique: 字段的值不允許重復
default: 當不填寫此值時會使用默認值,如果填寫時以填寫為準
foreign key:對關系字段進行約束,當為關系字段填寫值時,會到關聯的表中查詢此值是否存在, 如果存在則填寫成功,如果不存在則填寫失敗并拋出異常
說明:雖然外鍵約束可以保證數據的有效性,但是在進行數據的crud(增加、修改、刪除、查詢) 時,都會降低數據庫的性能,所以不推薦使用,那么數據的有效性怎么保證呢?答:可以在邏輯層進 行控制
四、數據庫設計
經過研究和對使用中問題的總結,對于設計數據庫提出了一些規范,這些規范被稱為范式
數據庫設計中一共有6個范式,一般需要遵守3范式即可
第一范式(1NF):數據庫表的每一列都是不可分割的原子數據項,即列不可拆分
第二范式(2NF):建立在第一范式的基礎上,要求數據庫表中的每個實例或記錄必須可以被唯一地區分,即唯一標識
第三范式(3NF):建立在第二范式的基礎上,任何非主屬性不依賴于其它非主屬性,即引用主鍵
E表示entry,實體,設計實體就像定義一個類一樣,指定從哪些方面描述對象,一個實體轉換為數據庫中的一個表
R表示relationship,關系,關系描述兩個實體之間的對應規則,關系的類型包括包括一對一、一對多、多對多
關系也是一種數據,需要通過一個字段存儲在表中
實體A對實體B為1對1,則在表A或表B中創建一個字段,存儲另一個表的主鍵值
對于重要數據,并不希望物理刪除,一旦刪除,數據無法找回
刪除方案:設置isDelete的列,類型為bit,表示邏輯刪除,默認值為0
對于非重要數據,可以進行物理刪除
數據的重要性,要根據實際開發決定
看完以上關于MySQL基礎入門知識,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業知識信息 ,可以持續關注我們的行業資訊欄目的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。