目錄
1、SQL的概念
SQL,Structured Query Language,結構化查詢語言,其實就是定義了操作所有關係型數據庫的規則。但是每種數據庫廠商不一樣,每一種數據庫操作的方式存在不一樣的地方,稱爲“方言”。
SQL的通用語法:
- 1) 每條語句可以單行或多行書寫,以分號結尾;
- 2) 可使用空格和縮進來增強語句的可讀性;
- 3) MySQL的數據庫的SQL語句不區分大小寫,關鍵字建議使用大寫;
- 4) 3種註釋:單行註釋 -- 註釋內容 或 # 註釋內容,多行註釋:/* 註釋 */
2、數據庫的CRUD操作
首先了解下SQL的分類,按照功能不同分爲4種:
- 1) Data Definition Language (DDL 數據定義語言) ,用來定義數據庫對象:數據庫、表、列等,關鍵字:create、drop、alter等;
- 2) Data Manipulation Language(DML 數據操作語言),用來對數據庫中表的數據進行增刪改,關鍵字:insert、delete、update等;
- 3) Data Query Language(DQL 數據查詢語言),用來查詢數據庫中表的記錄(數據),關鍵字:select、where等;
- 4) Data Control Language(DCL 數據控制語言),瞭解,用來定義數據庫的訪問權限和安全級別,及創建用戶,關鍵字:FRANT、REVOKE等。
2.1 DDL 操作數據庫
操作數據庫一個名詞CRUD,表示:
- C(Create):創建;
- R(Retrieve):查詢;
- U(Update):修改;
- D(Delete):刪除;
- 使用數據庫;
2.1.1 創建數據庫
1)創建數據庫:create database 數據庫名稱;
2)創建數據庫,並判斷是否存在:create database if not exists 數據庫名稱;
3)創建數據庫,並指定字符集:create database 數據庫名稱 character set 字符集名稱;
【舉例】:創建db4數據庫,判斷是否存在,並制定字符集爲gbk;
2.1.2 查詢數據庫
1)查詢所有數據庫的名稱:show databases;
2)查詢某個數據庫的創建語句;查詢某個數據庫的字符集:show create database mysql;
2.1.3 修改數據庫
1)修改數據庫的字符集:alter database 數據庫名稱 character set 字符集名稱;
2.1.4 刪除數據庫
1)刪除數據庫:drop database 數據庫名稱;
drop database if exits 數據庫名稱;
2.1.5 使用數據庫
1)查詢當前正在使用的數據庫名稱:select database();
2)使用數據庫:use 數據庫名稱;
2.2 DML 操作表
2.2.1 創建表
1)創建表:create table 表名稱(列名1 數據類型1, 列名2 數據類型2, ... 列名n 數據類型n);
其中,SQL中的常見數據類型:
- int:整數類型,如 age int;
- double:小數類型,如 score double(5,2),括號中5表示一共有幾位,2表示小數點後幾位;
- date:日期,只包含年月日,yyyy-MM-dd;
- datetime:日期,包含年月日時分秒,yyyy-MM-dd HH:mm:ss;
- timestamp:時間戳類型,格式同datetime,如果指定爲timestap類型,若不給該字段賦值或賦值爲null,則默認使用當前系統時間自動賦值;
- varchar:字符串類型,如 name varchar(20),括號中表示姓名最大20個字符,zhangsan表示8個,張三表示2個;
【舉例】:創建一張學生表
create table student(
id int,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
);
2)複製表:create table 新表名稱 like 原表名稱;
2.2.2 查詢表
1)查詢數據庫中所有的表名稱:show tables;
2)查詢表結構:desc 表名稱;
2.2.3 修改表
1)修改表的名稱:alter table 表名稱 rename to 新的表名稱
2)修改表的字符集:alter table 表名稱 character set 字符集名稱
3)添加一列:alter table 表名稱 add 列名 數據類型
4)修改列的名稱和類型:alter table 表名稱 change 原列名稱 新列名稱 新列類型;
只修改列類型:alter table 表名稱 modify 列名稱 新列類型;
5)刪除列:alter table 表名稱 drop 列名
2.2.4 刪除表
1)刪除表: drop table 表名稱;
drop table if exists 表名稱;
3 客戶端圖形化工具SQLYog
命令行中的SQL語句,比如desc 表名,展示效果不是很好,不像表格那樣結構直觀,此處介紹一款小工具,方便用戶使用,但是建議還是要在工具中自己輸入SQL語句,長期依賴這種視圖工具做如點擊查表等操作,SQL語句會生疏了。下面的講解都使用SQLYog,不用DOS了。
本文先到這裏,篇幅太長一般都懶得看,下一篇博文中會整理下MySQL數據庫表中記錄的操作以及數據庫的查詢操作,敬請期待!
本文爲博主原創文章,轉載請註明出處!
若本文對您有些許幫助,輕擡您發財的小手,關注/評論/點贊/收藏,就是對我最大的支持!
祝君升職加薪,鵬程萬里!