數(shù)據(jù)庫
什么是數(shù)據(jù)[1]
數(shù)據(jù)(data)是事實(shí)或觀察的結(jié)果昌屉,是對客觀事物的邏輯歸納,是用于表示客觀事物的未經(jīng)加工的的原始素材茵瀑。數(shù)據(jù)可以是連續(xù)的值间驮,比如聲音、圖像马昨,稱為模擬數(shù)據(jù)竞帽。也可以是離散的鸿捧,如符號屹篓、文字,稱為數(shù)字?jǐn)?shù)據(jù)匙奴。計(jì)算機(jī)中的數(shù)據(jù)堆巧,是對現(xiàn)實(shí)世界的一種量化。
什么是數(shù)據(jù)庫[2]
數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織泼菌、存儲和管理數(shù)據(jù)的倉庫谍肤。
作用:對數(shù)據(jù)操作更方便。
數(shù)據(jù)庫的分類
數(shù)據(jù)庫通常分為層次式數(shù)據(jù)庫哗伯、網(wǎng)絡(luò)式數(shù)據(jù)庫和關(guān)系式數(shù)據(jù)庫三種荒揣。
最常見的數(shù)據(jù)庫模型主要是兩種,即關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫
常見的關(guān)系型數(shù)據(jù)庫
- Oracle數(shù)據(jù)庫
- MySQL數(shù)據(jù)庫
- DB2數(shù)據(jù)庫
- SqlServer數(shù)據(jù)庫
常見的非關(guān)系型數(shù)據(jù)庫
- Redis
- MongoDB
RDBMS即關(guān)系數(shù)據(jù)庫管理系統(tǒng)(Relational Database Management System)的特點(diǎn):
- 數(shù)據(jù)以表格的形式出現(xiàn)
- 每行為一條數(shù)據(jù)
- 每列為一條數(shù)據(jù)的特征或字段
- 許多的行和列組成一張表單
- 若干的表單組成database
Mysql數(shù)據(jù)庫
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)焊刹,由瑞典MySQL AB公司開發(fā)系任,目前屬于Oracle公司。Mysql是開源的虐块、免費(fèi)的俩滥。
MySQL 安裝
安裝完成啟動(dòng)服務(wù)
sudo service mysql start
停止服務(wù)
sudo service mysql stop
重啟服務(wù)
sudo service mysql restart
卸載
sudo apt-get remove mysql-*
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P # 選擇yes
SQL語句[3]
連接數(shù)據(jù)庫
連接數(shù)據(jù)庫的前提是你有數(shù)據(jù)庫
mysql -V # 有版本信息說明你有數(shù)據(jù)庫
連接數(shù)據(jù)庫
mysql -u root -p # 回車,輸入密碼非凌,再次回車举农,看到如下圖所示,說明連接數(shù)據(jù)庫成功
查看現(xiàn)有數(shù)據(jù)庫
show databases;
創(chuàng)建測試數(shù)據(jù)庫
--create database 數(shù)據(jù)庫名 charset="utf8";
create database fang charset="utf8"; --使用utf8 字符集
查看建庫語句
show create database fang; --show create database 數(shù)據(jù)庫名敞嗡;
創(chuàng)建了一個(gè)名為 test 的數(shù)據(jù)庫颁糟,沒有指定charset 默認(rèn)使用了 Latin1[4] 字符集,Latin1 字符集不支持中文喉悴。
刪除數(shù)據(jù)庫
drop database test; --drop database 數(shù)據(jù)庫名棱貌;
查看數(shù)據(jù)表
使用數(shù)據(jù)庫
use fang; --use 數(shù)據(jù)庫名;
查看數(shù)據(jù)表
show tables; --查看當(dāng)前數(shù)據(jù)庫下的所有數(shù)據(jù)表
新建的數(shù)據(jù)庫是沒有數(shù)據(jù)表的
創(chuàng)建數(shù)據(jù)表
數(shù)據(jù)類型[5]
數(shù)值
類型 | 大小 | 范圍(有符號) | 范圍(無符號) | 用途 |
---|---|---|---|---|
TINYINT | 1 字節(jié) | (-128,127) | (0箕肃,255) | 小整數(shù)值 |
INT或INTEGER | 4 字節(jié) | (-2 147 483 648婚脱,2 147 483 647) | (0,4 294 967 295) | 大整數(shù)值 |
DECIMAL | 對DECIMAL(M,D) , 如果M>D障贸,為M+2, 否則為D+2 |
依賴于M和D的值 | 依賴于M和D的值 | 小數(shù)值 |
時(shí)間
類型 | 大小(字節(jié)) | 范圍 | 格式 | 用途 |
---|---|---|---|---|
DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | '-838:59:59'/'838:59:59' | HH:MM:SS | 時(shí)間值或持續(xù)時(shí)間 |
DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和時(shí) |
字符串
類型 | 大小 | 用途 |
---|---|---|
CHAR | 0-255字節(jié) | 定長字符串 |
VARCHAR | 0-65535 字節(jié) | 可變長字符串 |
- decimal表示浮點(diǎn)數(shù)错森,如decimal(5,2)表示共存5位數(shù),小數(shù)占2位
- char表示固定長度的字符串篮洁,如char(3)涩维,如果填充'ab'時(shí)會(huì)補(bǔ)一個(gè)空格為'ab '
- varchar表示可變長度的字符串,如varchar(3)袁波,填充'ab'時(shí)就會(huì)存儲'ab'
- 枚舉類型(enum)瓦阐,enum("男","女","保密")
約束
- 主鍵primary key:物理上存儲的順序
- 非空not null:此字段不允許填寫空值
- 默認(rèn)default:當(dāng)不填寫此值時(shí)會(huì)使用默認(rèn)值篷牌,如果填寫時(shí)以填寫為準(zhǔn)
創(chuàng)建數(shù)據(jù)表
-- 創(chuàng)建數(shù)據(jù)表article睡蟋,
-- article 有id 無符號int類型 自動(dòng)增長的主鍵,
-- title varchar類型長度100 非空
-- content_file_path varchar類型長度100 非空
-- content_num 無符號int類型 非空 默認(rèn)值為0
-- is_delect tinyint類型 非空 默認(rèn)值為0
create table article(
id int unsigned auto_increment primary key,
title varchar(100) not null,
content_file_path varchar(100) not null,
content_num int unsigned not null default 0,
is_delect tinyint not null default 0
);
查看創(chuàng)建數(shù)據(jù)表語句
--show create table 數(shù)據(jù)表名;
show create table user;
刪除數(shù)據(jù)表
-- drop table 表名;
drop table user;
查看表結(jié)構(gòu)
-- desc 數(shù)據(jù)表的名字;
desc article;
添加字段
添加author_name
-- alter table 表名 add 列名 類型;
alter table article add author_name varchar(50);
修改字段
修改 author_name 為 author_info
-- alter table 表名 change 原名 新名 類型及約束;
alter table article change author_name author_info varchar(50);
刪除字段
刪除author_info
-- alter table 表名 drop 列名;
alter table article drop author_info;
到此結(jié)?DragonFangQy 2018.5.8