主流數(shù)據(jù)庫簡單介紹
創(chuàng)新互聯(lián)專注于上虞企業(yè)網(wǎng)站建設,響應式網(wǎng)站,成都商城網(wǎng)站開發(fā)。上虞網(wǎng)站建設公司,為上虞等地區(qū)提供建站服務。全流程按需策劃設計,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
數(shù)據(jù)庫大體分類
MySQL數(shù)據(jù)庫管理
SQL Server (微軟公司產(chǎn)品)——主要針對客戶端,可承載并發(fā)量非常少
面向Windows操作系統(tǒng)
簡單、易用
Oracle (甲骨文公司產(chǎn)品)
面向Windows操作系統(tǒng)
簡單、易用
DB2 (IBM公司產(chǎn)品)
面向所有主流平臺
大型、安全、完善
MySQL (甲骨文公司收購)
> 免費、開源、體積小
? 關系數(shù)據(jù)庫系統(tǒng)是基于關系模型的數(shù)據(jù)庫系統(tǒng),它的基本概念來自于關系模型
? 關系模型建立在關系代數(shù)的理論基礎上,數(shù)據(jù)結構使用簡單易懂的二維數(shù)據(jù)表,可以用簡單的“實體關系”(E-R)圖來直接表示
? E-R圖中包含了實體(數(shù)據(jù)對象)、關系和屬性三個要素
? 非關系數(shù)據(jù)庫也被稱作NOSQL(Not Only SQL),存儲數(shù)據(jù)不以關系模型為依據(jù),不需要固定的表格式
? 非關系型數(shù)據(jù)庫作為關系數(shù)據(jù)庫的一個補充,在日益快速發(fā)展的網(wǎng)站時代,發(fā)揮著高效率與高性能
? 不以關系模型為依據(jù),而是K-V關系(key-鍵;value-值)
? value同樣可以為一個具體的對象(其中包含:屬性、行為)
查看數(shù)據(jù)庫列表信息
? show databases;
查看某數(shù)據(jù)庫中的所有數(shù)據(jù)表信息
? show tables;
顯示數(shù)據(jù)表結構信息
? describe [數(shù)據(jù)庫名].表名;
概述
SQL是Structured Query Language的縮寫,即結構化查詢語言
屬于關系型數(shù)據(jù)庫的標準語言
用于維護管理數(shù)據(jù)庫,如數(shù)據(jù)查詢、數(shù)據(jù)更新、訪問控制、對象管理等功能
分類
DDL:數(shù)據(jù)定義語言
DML:數(shù)據(jù)操縱語言
DQL:數(shù)據(jù)查詢語言
DCL:數(shù)據(jù)控制語言
具體講解
DDL語句
? 主要用于創(chuàng)建數(shù)據(jù)庫對象,例如庫、表、索引等
創(chuàng)建數(shù)據(jù)庫:create database 數(shù)據(jù)庫名;
實例:create database test;
創(chuàng)建數(shù)據(jù)表:create table 表名(字段定義);
實例:create table users (name char(4) not null,passwd int(10) not null,primary key (name));
刪除數(shù)據(jù)庫:drop database 數(shù)據(jù)庫名;
實例:drop database test;
刪除數(shù)據(jù)表:drop table [數(shù)據(jù)庫名].表名;
實例:drop table test.user; & use test; drop table user;
DML語句
? 主要用于對表中的數(shù)據(jù)進行管理,包含以下操作:
? INSERT:插入新數(shù)據(jù)
? UPDATE :更新原有數(shù)據(jù)
? DELETE :刪除不需要的數(shù)據(jù)
插入新的數(shù)據(jù)記錄:insert into 表名(字段1,字段2......) values (字段1的值,字段2的值......);
實例:insert into user(name,passwd) values ('zfm',123456);
更新原有數(shù)據(jù):update 表名 set 字段1=值1 [,字段名2=值2] where 條件篩選;
實例:update user set passwd=123 where name='zfmdd';
刪除指定數(shù)據(jù)記錄:delete from 表名 where 條件表達式;
(沒有where作條件將刪除表中所有記錄)
實例:delete from test where name='zfmdd';
DQL語句
? 數(shù)據(jù)查詢語句,主要用于數(shù)據(jù)表中查找符合條件的數(shù)據(jù)記錄
查詢時可不指定條件:SELECT 字段名1,字段名2 FROM 表名 WHERE 條件表達式;
實例:select * from test where name='zfmdd';
查看表前幾行數(shù)據(jù):Select * from 表 limit 行數(shù);
DCL語句
? 主要用來管理系統(tǒng)中的對象權限
設置用戶權限:grant 權限列表 on 數(shù)據(jù)庫名.表名 to 用戶名@來源地址 [identified by '密碼'];
實例:grant replication test.slave on *.* to 'myslave'@'192.168.142.135' identified by 'asd123';
查看用戶權限:show grants for 用戶名@來源地址;
實例:show grants for 'myslave'@'192.168.142.135';
撤銷用戶權限:revoke 權限列表 on 數(shù)據(jù)庫名.表名 from 用戶名@來源地址;
實例:revoke replication on test.slave from 'myslave'@'192.168.142.135';
另類
更改特定數(shù)據(jù)表中的特定字段定義:
alter table 表名 modify column 字段名 新的定義;
為數(shù)據(jù)庫的特定數(shù)據(jù)表添加欄位
alter table 表名 add 新字段名 類型(定義長度) [comment '需要添加的注釋內容’];
可在類型后追加關鍵字“first”、“after 字段名(置于某字段后)”
刪除欄位
alter table 表名 drop 字段名;