一、資料庫短語:
1.1 短語定義:
資料庫管理系統 dbms(datebase management system)
資料庫 db(database)
資料庫管理員 dba(database administrator)
關聯式資料庫管理系統 rdbms(relational database management system)
結構化查詢語言 sql(structured query language)
1.2 引數定義:
資料庫:db(即資料夾)
資料庫管理系統:如mysql(是乙個軟體)
資料庫伺服器:一台計算機(對記憶體要求比較高)
記錄:1 朱葛 13234567890 22(多個欄位的資訊組成一條記錄,即檔案中的一行內容)
表:即檔案,用來存放多行內容/多條記錄
1.3 資料庫語言:
ddl語句 資料庫定義語言: 資料庫、表、檢視、索引、儲存過程,例如create drop alter
dml語句 資料庫操縱語言: 插入資料insert、刪除資料delete、更新資料update、查詢資料select
dcl語句 資料庫控制語言: 例如控制使用者的訪問許可權grant、revoke
1.4 資料管理軟體分類:
關係型:如sqllite,db2,oracle,access,sql server,mysql,注意:sql語句通用
非關係型:mongodb,redis,memcache
nosql非關係型資料庫小結:
1、nosql不是否定關聯式資料庫,而是作為關聯式資料庫的乙個重要補充
2、nosql為了高效能、高併發而生,忽略影響高效能,高併發的功能
3、nosql典型產品memcached (純記憶體),redis(持久化快取),mongodb(文件的資料庫)
二、資料庫的安裝
2.1 配置檔案:my.ini(放置路徑:d:\mysql\mysql-5.6.43-winx64)
[mysql]#設定mysql客戶端預設字符集
default-character-set=utf8
[mysqld]#設定3306埠
port = 3306
#設定mysql的安裝目錄
basedir = d:\mysql\mysql-5.6.43-winx64#設定mysql資料庫的資料的存放目錄
datadir = d:\mysql\mysql-5.6.43-winx64\data#允許最大連線數
max_connections=200
#服務端使用的字符集預設為8位元編碼的latin1字符集
character-set-server=utf8#建立新錶時將使用的預設儲存引擎
default-storage-engine=innodb
my.ini
2.2 環境變數:
在系統變數path後面新增: 你的mysql bin資料夾的路徑(如d:\mysql\mysql-5.6.43-winx64)
2.3 安裝mysql:
以管理員身份開啟cmd視窗後,將目錄切換到你解壓檔案的bin目錄,輸入mysqld install回車執行
2.4 啟動mysql:
以管理員身份在cmd中輸入:net start mysql
服務啟動成功之後,就可以登入了,輸入mysql -u root -p(第一次登入沒有密碼,直接按回車過)
net stop mysql #停止mysql
#在windows作業系統上沒有重啟mysql服務的命令#如果要重啟服務,只能先stop再start
重啟資料庫伺服器
三、資料庫的常用操作(建立使用者與許可權)
#進入mysql客戶端
$mysql
mysql> select user(); #檢視當前使用者
mysql> exit #也可以用\q quit退出
#預設使用者登陸之後並沒有實際操作的許可權#需要使用管理員root使用者登陸
$ mysql -uroot -p #mysql5.6預設是沒有密碼的#遇到password直接按回車鍵
mysql> set password = password('root'); #給當前資料庫設定密碼
set password = password('123'); #給當前使用者設定密碼
#建立賬號
mysql> create user 'eva'@'192.168.10.%' identified by '123'; #指示網段
mysql> create user 'eva'@'192.168.10.5' #指示某機器可以連線
mysql> create user 'eva'@'%' #指示所有機器都可以連線
mysql> show grants for 'eva'@'192.168.10.5'; #檢視某個使用者的許可權#遠端登陸
$ mysql -uroot -p123 -h 192.168.10.3$ mysql-ustu -h192.168.16.13 -p #使用者登入
#給賬號授權
mysql> grant all on *.* to 'eva'@'%';
mysql> flush privileges; #重新整理使授權立即生效
#建立賬號並授權#grant 權利 on 資料庫名.表名 to '使用者名稱'@'ip位址' identified by '123';#權利 : select insert update delete all
grant all on s20_day1.* to 'stu'@'192.168.16.%' identified by '123';
mysql> grant all on *.* to 'eva'@'%' identified by '123';#檢視所有使用者:
mysql> select user frommysql.user;#刪除使用者:
mysql> delete from mysql.user where user='stu';#檢視當前使用者:
mysql > select user();
view code
四、資料庫的常用操作(增刪改查)
1. 操作資料夾(庫)
增:create database db1 charset utf8;#預設utf-8: create database db1
查:show databases;
改:alter database db1 charset latin1;
刪除: drop database db1;2. 操作檔案(表)
先切換到資料夾下:use db1
增:create table t1(id int,name char);
查:show tables;
改:alter table t1 modify name char(3);
alter table t1 change name name1 char(2);
刪:drop table t1;3. 操作檔案中的內容(記錄)
增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
查:select* from t1; #desc t1 檢視表結構
改:update t1 set name='sb' where id=2;
刪:deletefrom t1 where id=1;
清空表:
deletefrom t1; #如果有自增id,新增的資料,仍然是以刪除前的最後一樣作為起始。
truncate table t1;資料量大,刪除速度比上一條快,且直接從零開始,*auto_increment 表示:自增*primary key 表示:約束(不能重複且不能為空);加速查詢
view code
結構化資料 半結構化資料 非結構化資料
結構化資料 即行資料,儲存在資料庫裡,可以用二維表結構來邏輯表達實現的資料 所謂半結構化資料,就是介於完全結構化資料 如關係型資料庫 物件導向資料庫中的資料 和完全無結構的資料 如聲音 影象檔案等 之間的資料,html文件就屬於半結構化資料。它一般是自描述的,資料的結構和內容混在一起,沒有明顯的區分...
結構化資料 半結構化資料和非結構化資料
本文 在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis,mangodb rdbms關聯式資料庫 oracle,mysql等 還有一些其它的資料庫如hbase,在這些資料庫中,又會出現結構化資料,非結構化資料,半結構化資料,下面列出各種資料型別 結構化...
結構化資料 半結構化資料和非結構化資料
結構化資料 半結構化資料和非結構化資料 結構化的資料是指可以使用關係型資料庫表示和儲存,表現為二維形式的資料。一般特點是 資料以行為單位,一行資料表示乙個實體的資訊,每一行資料的屬性是相同的。舉乙個例子 id name age gender 1 lyh 12 male 2 liangyh 13 fe...