日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL(一)- 数据库介绍与基础操作

發(fā)布時間:2023/12/4 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL(一)- 数据库介绍与基础操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

數(shù)據(jù)庫介紹

一、常用的數(shù)據(jù)庫分為兩大類:
  • 關(guān)系型數(shù)據(jù)庫
  • 非關(guān)系型數(shù)據(jù)庫(NoSql)
關(guān)系型數(shù)據(jù)庫

概念:是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學(xué)概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。

關(guān)系型數(shù)據(jù)庫的優(yōu)勢:

  • 保持?jǐn)?shù)據(jù)的一致性(事務(wù)處理)
  • 由于以標(biāo)準(zhǔn)化為前提,數(shù)據(jù)更新的開銷很小(相同的字段基本上都只有一處)
  • 可以進(jìn)行Join等復(fù)雜查詢

缺點(diǎn):

  • 高并發(fā)讀寫需求:網(wǎng)站的用戶并發(fā)非常高,往往達(dá)到每秒上萬次讀寫請求,對于傳統(tǒng)關(guān)系型數(shù)據(jù)庫來說,硬盤I/O是一個很大的瓶頸
  • 海量數(shù)據(jù)的高效率讀寫:對于數(shù)據(jù)量巨大的網(wǎng)站來說,關(guān)系型數(shù)據(jù)庫的查詢效率非常低
非關(guān)系型數(shù)據(jù)庫

非關(guān)系型數(shù)據(jù)庫也叫NoSQL。區(qū)別于關(guān)系數(shù)據(jù)庫,它們不保證關(guān)系數(shù)據(jù)的ACID特性。NoSQL是一項全新的數(shù)據(jù)庫革命性運(yùn)動,其擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲,相對于鋪天蓋地的關(guān)系型數(shù)據(jù)庫運(yùn)用,這一概念無疑是一種全新的思維的注入。

優(yōu)點(diǎn):

  • 成本:NoSql數(shù)據(jù)庫簡單易部署,基本都是開源軟件,不需要使用像oracle那樣花費(fèi)大量成本購買使用,相比關(guān)系型數(shù)據(jù)庫價格便宜。
  • 查詢速度:NoSql數(shù)據(jù)庫將數(shù)據(jù)存儲于緩存之中,關(guān)系型數(shù)據(jù)庫將數(shù)據(jù)存儲在硬盤中,自然查詢速度遠(yuǎn)不及NoSql數(shù)據(jù)庫。
  • 存儲格式:NoSql數(shù)據(jù)庫的存儲格式是Key,Value形式,文檔形式,圖片形式等,所以可以存儲基礎(chǔ)類型以及對象或者是集合等各種格式,而數(shù)據(jù)庫則只支持基礎(chǔ)類型。
  • 擴(kuò)展性:關(guān)系型數(shù)據(jù)庫有類似join這樣的多表查詢機(jī)制的限制,導(dǎo)致擴(kuò)展很艱難。

缺點(diǎn)

  • 維護(hù)的工具和資料有限,因為NoSql屬于新技術(shù),不能和關(guān)系型數(shù)據(jù)庫10幾年的技術(shù)同日而語。
  • 不提供對Sql的支持,如果不支持Sql這樣的工業(yè)標(biāo)準(zhǔn),將產(chǎn)生一定用戶的學(xué)習(xí)和使用成本。
  • 不提供關(guān)系型數(shù)據(jù)庫對事物的處理。

常見的關(guān)系型數(shù)據(jù)庫

  • Mysql(美國,甲骨文公司)
  • Oracle(美國,甲骨文公司)
  • Sql Server(美國,微軟公司)
  • DB2(美國,IBM公司)
  • 常見的非關(guān)系型數(shù)據(jù)庫

    • Redis[鍵值存儲數(shù)據(jù)庫]
    • MongoDB[鍵值存儲數(shù)據(jù)庫]
    二、SQL、DB、DBMS分別是什么?他們之間時什么關(guān)系?
    • DB:DataBase(數(shù)據(jù)庫,數(shù)據(jù)庫實際在硬盤上以文件的形式存在)
    • DBMS:DataBase Management
      System(數(shù)據(jù)庫管理系統(tǒng),常用的有:MySQL、Oracle、DB2、Sybase、sqlServer……)
    • SQL:結(jié)構(gòu)化查詢語言,是一門標(biāo)準(zhǔn)的通用語言,標(biāo)準(zhǔn)的sql適合于所有的數(shù)據(jù)庫產(chǎn)品。

    SQL屬于高級語言,只要能看懂英語單詞,寫出的SQL語句,可以讀懂什么意思。

    SQL語句在執(zhí)行的時候,實際上內(nèi)部也會進(jìn)行編譯,然后在執(zhí)行sql(編譯有DBMS完 成)

    DBMS負(fù)責(zé)執(zhí)行程序員寫的sql語句,通過執(zhí)行sql語句來操作DB中的數(shù)據(jù)。

    DBMS -(執(zhí)行)-> SQL - (操作) -> DB

    三、什么是表?

    表:table是數(shù)據(jù)庫的基本組成單元,所有的數(shù)據(jù)都要以表的形式組織,目的是可讀性強(qiáng)。

    一個表包括行和列:
    行:被稱為數(shù)據(jù)/記錄(data)
    列:被稱為字段(column)

    每一個字段應(yīng)該包括哪些屬性

    • 字段名
    • 數(shù)據(jù)類型
    • 相關(guān)的約束
    四、那么SQL語句包括增刪改查,SQL語句怎么分類呢?
    DQL(數(shù)據(jù)查詢語言): 查詢語句,凡是select語句都是DQL。 DML(數(shù)據(jù)操作語言):insert delete update,對表當(dāng)中的數(shù)據(jù)進(jìn)行增刪改。 DDL(數(shù)據(jù)定義語言):create drop alter,對表結(jié)構(gòu)的增刪改。 TCL(事務(wù)控制語言):commit提交事務(wù),rollback回滾事務(wù)。(TCL中的T是Transaction) DCL(數(shù)據(jù)控制語言): grant授權(quán)、revoke撤銷權(quán)限等。

    SQL的基礎(chǔ)操作

    假設(shè)我們現(xiàn)在以經(jīng)成功安裝了MySQL,下面開始介紹MySQL的基礎(chǔ)操作。

    1.啟動/停止mysql

    net start mysql net stop mysql

    注意:如果是安裝win版本,執(zhí)行語句的時候提示“拒絕訪問”,可以推出命令提示符,用管理員權(quán)限打開命令提示符即可。

    2.登錄mysql賬號密碼

    mysql -uroot -p //回車后輸入密碼 Enter password: *****

    3.修改密碼

    alter user user() identified by "新密碼"

    4.登錄進(jìn)去后查看有哪些數(shù)據(jù)庫

    show databases;

    5.創(chuàng)建屬于我們自己的數(shù)據(jù)庫(bjpowernode)

    create database bjpowernode;

    6.使用數(shù)據(jù)庫(bjpowernode)

    use bjpowernode;

    7.查看數(shù)據(jù)庫中的表;

    show tables;

    8.創(chuàng)建自己的表(studentstest)如下參考圖片

    create table studentstest( id int not null, name char(10) not null);

    8.初始化數(shù)據(jù)

    source 文件路徑\XXX.sql

    注意:初始化數(shù)據(jù)可以不要分號“;”
    這里用于初始化的文件稱為sql腳本文件—bjpowernode.sql

    bjpowernode.sql,這個文件以sql結(jié)尾,這樣的文件被稱為“sql腳本”。什么是sql腳本呢?

    當(dāng)一個文件的擴(kuò)展名是.sql,并且該文件中編寫了大量的sql語句,我們稱這樣的文件為sql腳本。

    注意:直接使用source命令可以執(zhí)行sql腳本。

    sql腳本中的數(shù)據(jù)量太大的時候,無法打開,請使用source命令完成初始化。

    bjpowernode.sql中包含了三張表格,在對它完成初始化后,數(shù)據(jù)庫中就得到了這三張表后面我們在練習(xí)SQL查詢語句的時候就拿這三張表格來重點(diǎn)反復(fù)練習(xí)。下面分別介紹一下這三張表格
    查看當(dāng)前數(shù)據(jù)庫中的表:

    查看數(shù)據(jù)庫中的表;

    show tables;


    9.查看表的數(shù)據(jù)結(jié)構(gòu):

    desc 表名;

    表一:部門表

    表二:員工信息表


    表三:薪資表

    10.刪除表格

    drop tables 表名;

    11.刪除表格

    drop database 數(shù)據(jù)庫名;

    12.查看表中數(shù)據(jù):

    select 字段 from 表名;

    我們剛好可以順便看看前面三張表中的數(shù)據(jù)吧:

    員工表中的數(shù)據(jù):

    部門表中的數(shù)據(jù):

    薪資表中的數(shù)據(jù):

    13.查看當(dāng)前使用的是哪個數(shù)據(jù)庫:

    select database();

    13.查看當(dāng)前使用mysql的版本:

    select version();

    14.查看當(dāng)前使用的是哪個數(shù)據(jù)庫:

    select 字段 from 表名;

    15.命令,提前結(jié)束一條語句(寫到一半不想寫了):

    \c

    16.命令,推出mysql:

    exit / quit / Ctrl + C

    13.查看創(chuàng)建表的語句:

    show create table 表名;

    總結(jié)

    以上是生活随笔為你收集整理的SQL(一)- 数据库介绍与基础操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。