3. SQL語言的簡介以及DDL語句

SQL語言的簡介以及DDL語句

一. SQL語言的簡介

  1. 什么是SQL?

    • SQL: 全文structured query language: 結(jié)構(gòu)化查詢語言
    • SQL: 是一種對關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行定義和操作的語言
    • 語法簡介, 易學(xué)易用
  2. SQL語句

    • SQL也是一種語言, 用SQL語言編寫代碼, 稱為SQL語句
    • 在程序運(yùn)行過程中, 如果要進(jìn)行CRUD-增刪改查, 操作數(shù)據(jù)庫中的數(shù)據(jù), 就必須通過SQL語句來操作
    • CRUD: Create, Retrive, Update, Delete
  3. SQL語句的特點(diǎn):

    • 不區(qū)分大小寫: 即test和TEST是一樣的效果
    • 語句必須以分號;作為結(jié)尾
  4. SQL語句的種類

    • 數(shù)據(jù)定義語句(DDL: Data Definition Language)
      • create, drop, Alert等操作
      • 主要用于數(shù)據(jù)庫中創(chuàng)建和刪除表格
    • 數(shù)據(jù)操作語句(DML: Data Manipulation Language)
      • insert, delete, update等操作
      • 主要用于添加, 修改, 刪除表中的數(shù)據(jù)
    • 數(shù)據(jù)查詢語句(DQL: Data Query Language)
      • 可以用于查詢并獲得表中的數(shù)據(jù)
      • 關(guān)鍵字select是DQL使用的最核心語句
      • 一些其他的語句: where, order by, group by 和 having等等
  5. 參考網(wǎng)站

    • http://www.phpstudy.net/e/sql/sql_intro.html

二. DDL語句(Navicat上面的操作)

  1. 新建查詢

    • 查詢是用來使用SQL語句, 然后反應(yīng)出效果的工具
  2. 創(chuàng)建表: creat

    • 格式:
      • create table 表名(字段名1 字段類型1, 字段名2 字段類型2....)
    • 一些注意點(diǎn)
      1. SQLite實(shí)際上是無類型的
        • 就算將字段聲明為integer, 也能存儲text等樣式的字段(主鍵除外)
        • 建表時(shí)可以不聲明類型, 但是為了可讀性, 建表時(shí)一定要為每一個(gè)字段添加屬性
      2. 語句優(yōu)化
        • 創(chuàng)建表格時(shí), 最好判斷一下要創(chuàng)建的表格是否已經(jīng)存在, 避免重復(fù)創(chuàng)建出現(xiàn)問題Error : table T_human already exists
        • 格式為: create table if not exisist 表名(字段名 字段類型....)
  3. 刪除表: drop

    • 格式: drop table if exsist 表名(為了避免執(zhí)行刪除一個(gè)不存在的表, 所以要加上優(yōu)化語句)
  4. 修改表: alert

    • 注意: sqlite里面只能實(shí)現(xiàn)alert table的部分功能
    • 修改表名格式: alert table 舊表名 rename to 新表名
    • 新增屬性格式: alert table 表名 add column 列名 數(shù)據(jù)類型 限定符

三 DDL的約束

  1. 簡單約束

    1. 簡單約束, 是指給每一列的屬性, 指定一個(gè)約束標(biāo)識符, 用以約束這個(gè)屬性的值存入
    2. 簡單約束有三個(gè)類型
      • not null: 不能為空, 規(guī)定這個(gè)字段的值不能為null
      • unique: 不能重復(fù), 規(guī)定這個(gè)字段的值, 必須是唯一的
      • default: 默認(rèn)值, 指定字段的默認(rèn)值
  2. 主鍵約束

    1. 我們在建表時(shí), 最需要設(shè)置的約束就是主鍵約束
      • 如果在一張表格中, 兩條數(shù)據(jù)的值都相同, 這時(shí)我們就無法區(qū)分這兩條數(shù)據(jù), 而此時(shí)就需要添加主鍵約束
      • 良好的數(shù)據(jù)庫編程規(guī)范應(yīng)該要保證每一條記錄的唯一性, 為此就需要添加主鍵約束
      • 因此, 每張表格都必須有一個(gè)主鍵, 用來標(biāo)識唯一一條數(shù)據(jù)
    2. 主鍵: Primary Key, 用來唯一的標(biāo)識某一條記錄: 如給一條記錄增加一個(gè)名為id的主鍵
      • 主鍵可以是一個(gè)或多個(gè)字段
      • 主鍵應(yīng)該是對用戶沒有任何意義的
      • 永遠(yuǎn)不要手動更新主鍵
      • 主鍵不能包含動態(tài)變化的數(shù)據(jù)
      • 主鍵應(yīng)該由計(jì)算機(jī)自動生成
    3. 主鍵的聲明
      • 在創(chuàng)建表格的時(shí)候, 使用primary key來聲明一個(gè)主鍵, 如下:
        • create table if not exists T_Person (id interger primary key, name text, age integer)
        • 這里我們使用了數(shù)據(jù)類型為integer的id作為主鍵
      • 主鍵字段
        • 只要聲明一個(gè)字段為primary key, 就說明這是一個(gè)主鍵字段
        • 主鍵字段默認(rèn)就包含了not nullunique兩個(gè)約束
      • 如果要讓主鍵自動增長, 應(yīng)該增加autoincrement聲明, 如下:
        • create table if not exists T_Person(id integer primary key autoincrement, name text, age integer)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容