入門常用SQL及官方文檔的使用


SQL語句基礎理論

  SQL是操作和檢索關系型數據庫的標准語言,標准SQL語句可用於操作關系型數據庫

5大主要類型:

  ①DQL(Data Query Language,數據查詢語言)語句主要由於select關鍵字完成,查詢語句是SQL語句中最復雜,功能最豐富的語句。

 

  ②DML(Data Munipulation Language,數據操作語言)語句,DML語句修改后數據將保持較好的一致性;操作表的語句,如增插insert、更新update、刪除delete等;

 

  ③DDL(Data Definition Language,數據定義語言)語句,操作數據對象的語言,包括創建create、刪除drop、修改alter數據庫對象。

 

  ④DCL(Data Control Language,數據控制語言)語句,主要有grant、revoke語句。

 

  ⑤事務控制語句主要有commit、rollback和savepoint三個關鍵字完成

 

注意:

   SQL 對大小寫不敏感:SELECT 與 select 是相同的;

  MySQL 的SQL語句以分號 (;) 作為結束標識。

 

DBA所有的操作必須來自於官方文檔

DBA所有的操作必須來自於官方文檔

DBA所有的操作必須來自於官方文檔

(重要的事情說三遍嘛!!)

 

一、官方文檔的簡單介紹:

  1、Tutorial:將MySQL常用的一些操作使用一個場景串聯起來

    只是關注里面的灰色部分就可以,按照里面的灰色操作部分順一遍

  ---詳細的跟着官方文檔的tutorial模塊操作一遍對於初學者還是很有必要的

  2、server Administrator:MySQL管理需要的一些命令、工具、參數等

  3、SQL Syntax

  SQL語法,使用最多,特別是DDL語句一定要使用SQL語法進行參考(增刪改查)

  4、Server Option / Variable Reference:MySQL的參數和狀態值,使用較多

  5、Functions and Operators

  MySQL常用函數和操作符,使用較多

  6、Views and Stored Programs

  視圖、存儲過程、函數、觸發器、event語法參考

  7、Optimization:優化

  非常值得細致的看一遍,此篇文檔不僅僅用來參考,更多的是用來學習優化知識,算是DBA進階寶典

  8、Partitioning

  如果是要進行表分區,此文檔是必須參考的資料,也是唯一參考的資料

  9、Information Schema、Performance Schema

  中級DBA常用的兩個參考資料

  10、Spatial Extensions

  地理位置信息(附近的人、附近的餐館……)

  11、Replication

  MySQL使用復制功能,常用的參考資料

  12、Semisynchronous Replication

  半同步復制,個別場合會用到

 

二、官方文檔使用技巧

  1、{}大括號括起來並且中間有個|管道符的代表 n 選一,必須輸入

  2、[]中括號里括起來的表示可有可無

  3、小寫字母代表變量,將來可以替換

  4、大寫字母代表關鍵字,必須輸入

  5、一般有 sepcification 后綴的表示這是一個規范,后邊還會有詳細的介紹

  6、 |管道符連接的信息沒有用{}大括號括起來代表可以有其中一個也可以同時都有

 

三、MySQL數據庫常用命令:help contents幫助

1、顯示所有數據庫

  show databases:列出MySQL數據庫管理系統的數據庫列表

2、創建數據庫

  create database [if not exists] dbName:創建名字為dbName指定的數據庫

3、刪除數據庫

  drop database dbName:刪除dbName指定的數據庫

4、統計數據庫信息 

  show table status [{from|in} db_name] [like 'pattern'|where expr] \G:將輸出Mysql數據庫管理系統的性能及統計信息

示例:

  show table status from RUNOOB;    #顯示數據庫 RUNOOB 中所有表的信息

  show table status from RUNOOB like 'runoob%';    #表名以runoob開頭的表的信息

  show table status from RUNOOB like 'runoob%'\G;    #加上\G,查詢結果按列打印 

5、使用數據庫

  use dbName:切換、使用指定數據庫 

6、顯示表

  show tables:顯示指定數據庫的所有表

7、顯示表結構

  desc tableName:顯示表結構describe(desc)

  show columns from tableName:顯示數據表的屬性,屬性類型,主鍵信息 ,是否為 NULL,默認值等其他信息---類似於desc tableName

8、顯示表索引

  show index from 數據表:顯示數據表的詳細索引信息,包括PRIMARY KEY(主鍵)

9、創建表

  create table tableName(列聲明) :創建一張表

示例:創建 students 表,存放 學號(id)、姓名(name)、性別(sex)、年齡(age)、聯系電話(tel) 

  create table students ( id int unsigned not null auto_increment primary key, name char(8) not null, sex char(4) not null, age tinyint unsigned not null, tel char(13) null default "-" );

10、顯示表內容(數據)

  select * from tableName:顯示數據表的具體內容

  select 列名稱 from tableName [where 條件]:按條件查詢表中的數據

11、修改表中內容(數據)---增、改、刪

增:insert

  insert [into] tableName [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...) :向表中插入數據

示例:

  insert into classmate values("xiaoming","male",18,"china","tennis");

改:update 

  update tableName set 列名稱=新值 where 更新條件:更新表中的數據

示例:

  update classmate set address="chongyi" where id=3

 刪:delete

  delete from tableName where 刪除條件:刪除表中的數據

批量刪:drop、truncate

  drop table tableName:刪除表(包括表的結構和全部數據)

  truncate tableName:刪除表(刪除表里的全部數據,保留表結構)

12、創建后表的修改alter table

添加列

  alter table 表名 add 列名 列數據類型 [after 插入位置];

示例:

  alter table students add address char(60):在表的最后追加列 address

  alter table students add birthday date after age:在age 的列后插入列birthday

修改列

  alter table 表名 change 列名稱 列新名稱 新數據類型;

示例:

  alter table students change tel telphone char(13) default "-":將表中的tel列改名為telphone

  alter table students change name name char(16) not null:將 name 列的數據類型改為 char(16)

刪除列

  alter table 表名 drop 列名稱;

示例:

  alter table students drop birthday:刪除 birthday 列 

重命名表

  alter table 表名 rename 新表名;

示例:

  alter table students rename workmates:重命名 students 表為 workmates

13、關於事務操作

  1. BEGIN 或 START TRANSACTION:顯式地開啟一個事務;

  2. COMMIT 或 COMMIT WORK:COMMIT會提交事務,並使已對數據庫進行的所有修改成為永久性的;

  3. ROLLBACK 或 ROLLBACK WORK:回滾會結束用戶的事務,並撤銷正在進行的所有未提交的修改;

  4. SAVEPOINT identifier:SAVEPOINT允許在事務中創建一個保存點,一個事務中可以有多個SAVEPOINT;

  5. RELEASE SAVEPOINT identifier:release(釋放),刪除一個事務的保存點,當沒有指定的保存點時,執行該語句會拋出一個異常;

  6. ROLLBACK TO identifier:把事務回滾到標記點;

  7. SET TRANSACTION;用來設置事務的隔離級別。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM