SQL(一)- 数据库介绍与基础操作
數據庫介紹
一、常用的數據庫分為兩大類:
- 關系型數據庫
- 非關系型數據庫(NoSql)
關系型數據庫
概念:是建立在關系模型基礎上的數據庫,借助于集合代數等數學概念和方法來處理數據庫中的數據。
關系型數據庫的優勢:
- 保持數據的一致性(事務處理)
- 由于以標準化為前提,數據更新的開銷很小(相同的字段基本上都只有一處)
- 可以進行Join等復雜查詢
缺點:
- 高并發讀寫需求:網站的用戶并發非常高,往往達到每秒上萬次讀寫請求,對于傳統關系型數據庫來說,硬盤I/O是一個很大的瓶頸
- 海量數據的高效率讀寫:對于數據量巨大的網站來說,關系型數據庫的查詢效率非常低
非關系型數據庫
非關系型數據庫也叫NoSQL。區別于關系數據庫,它們不保證關系數據的ACID特性。NoSQL是一項全新的數據庫革命性運動,其擁護者們提倡運用非關系型的數據存儲,相對于鋪天蓋地的關系型數據庫運用,這一概念無疑是一種全新的思維的注入。
優點:
- 成本:NoSql數據庫簡單易部署,基本都是開源軟件,不需要使用像oracle那樣花費大量成本購買使用,相比關系型數據庫價格便宜。
- 查詢速度:NoSql數據庫將數據存儲于緩存之中,關系型數據庫將數據存儲在硬盤中,自然查詢速度遠不及NoSql數據庫。
- 存儲格式:NoSql數據庫的存儲格式是Key,Value形式,文檔形式,圖片形式等,所以可以存儲基礎類型以及對象或者是集合等各種格式,而數據庫則只支持基礎類型。
- 擴展性:關系型數據庫有類似join這樣的多表查詢機制的限制,導致擴展很艱難。
缺點:
- 維護的工具和資料有限,因為NoSql屬于新技術,不能和關系型數據庫10幾年的技術同日而語。
- 不提供對Sql的支持,如果不支持Sql這樣的工業標準,將產生一定用戶的學習和使用成本。
- 不提供關系型數據庫對事物的處理。
常見的關系型數據庫:
常見的非關系型數據庫:
- Redis[鍵值存儲數據庫]
- MongoDB[鍵值存儲數據庫]
二、SQL、DB、DBMS分別是什么?他們之間時什么關系?
- DB:DataBase(數據庫,數據庫實際在硬盤上以文件的形式存在)
- DBMS:DataBase Management
System(數據庫管理系統,常用的有:MySQL、Oracle、DB2、Sybase、sqlServer……) - SQL:結構化查詢語言,是一門標準的通用語言,標準的sql適合于所有的數據庫產品。
SQL屬于高級語言,只要能看懂英語單詞,寫出的SQL語句,可以讀懂什么意思。
SQL語句在執行的時候,實際上內部也會進行編譯,然后在執行sql(編譯有DBMS完 成)
DBMS負責執行程序員寫的sql語句,通過執行sql語句來操作DB中的數據。
DBMS -(執行)-> SQL - (操作) -> DB
三、什么是表?
表:table是數據庫的基本組成單元,所有的數據都要以表的形式組織,目的是可讀性強。
一個表包括行和列:
行:被稱為數據/記錄(data)
列:被稱為字段(column)
每一個字段應該包括哪些屬性?
- 字段名
- 數據類型
- 相關的約束
四、那么SQL語句包括增刪改查,SQL語句怎么分類呢?
DQL(數據查詢語言): 查詢語句,凡是select語句都是DQL。 DML(數據操作語言):insert delete update,對表當中的數據進行增刪改。 DDL(數據定義語言):create drop alter,對表結構的增刪改。 TCL(事務控制語言):commit提交事務,rollback回滾事務。(TCL中的T是Transaction) DCL(數據控制語言): grant授權、revoke撤銷權限等。SQL的基礎操作
假設我們現在以經成功安裝了MySQL,下面開始介紹MySQL的基礎操作。
1.啟動/停止mysql
net start mysql net stop mysql注意:如果是安裝win版本,執行語句的時候提示“拒絕訪問”,可以推出命令提示符,用管理員權限打開命令提示符即可。
2.登錄mysql賬號密碼
mysql -uroot -p //回車后輸入密碼 Enter password: *****3.修改密碼
alter user user() identified by "新密碼"4.登錄進去后查看有哪些數據庫
show databases;5.創建屬于我們自己的數據庫(bjpowernode)
create database bjpowernode;6.使用數據庫(bjpowernode)
use bjpowernode;7.查看數據庫中的表;
show tables;8.創建自己的表(studentstest)如下參考圖片
8.初始化數據
source 文件路徑\XXX.sql注意:初始化數據可以不要分號“;”
這里用于初始化的文件稱為sql腳本文件—bjpowernode.sql
bjpowernode.sql,這個文件以sql結尾,這樣的文件被稱為“sql腳本”。什么是sql腳本呢?
當一個文件的擴展名是.sql,并且該文件中編寫了大量的sql語句,我們稱這樣的文件為sql腳本。
注意:直接使用source命令可以執行sql腳本。
sql腳本中的數據量太大的時候,無法打開,請使用source命令完成初始化。
bjpowernode.sql中包含了三張表格,在對它完成初始化后,數據庫中就得到了這三張表后面我們在練習SQL查詢語句的時候就拿這三張表格來重點反復練習。下面分別介紹一下這三張表格:
查看當前數據庫中的表:
查看數據庫中的表;
show tables;
9.查看表的數據結構:
表一:部門表
表二:員工信息表
表三:薪資表
10.刪除表格
11.刪除表格
drop database 數據庫名;12.查看表中數據:
select 字段 from 表名;我們剛好可以順便看看前面三張表中的數據吧:
員工表中的數據:
部門表中的數據:
薪資表中的數據:
13.查看當前使用的是哪個數據庫:
13.查看當前使用mysql的版本:
select version();14.查看當前使用的是哪個數據庫:
select 字段 from 表名;15.命令,提前結束一條語句(寫到一半不想寫了):
\c16.命令,推出mysql:
exit / quit / Ctrl + C13.查看創建表的語句:
show create table 表名;總結
以上是生活随笔為你收集整理的SQL(一)- 数据库介绍与基础操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海菜的功效与作用、禁忌和食用方法
- 下一篇: SQL(二)- 基础查询语句