資料庫學習與複習筆記--資料庫概念和不同類資料庫CRUD操作(1)

gkx826發表於2020-09-25

資料庫:用於儲存和管理資料的倉庫。

資料庫的特點:

1.持久化儲存資料。其實資料庫就是一個檔案系統

2.方便儲存和管理資料

3.使用了統一的方式運算元據庫。--SQL

常用資料庫:MYSQL(免費、開源)、Oracle

MySQL服務啟動:

cmd--> services.msc 開啟服務的視窗

以管理員身份執行cmd

啟動服務:net start mysql

停止服務:net stop mysql

MySQL登入和退出:

登入:mysql -uroot -proot

           mysql -hip -uroot -p連結目標密碼

           mysql --host=127.0.0.1 --user=root --password=root

MySQL退出:exit或者quit

MySQL目錄結構:

1.MySQL安裝目錄

配置檔案: my.ini

2.MySQL資料目錄

資料庫 :資料夾

表:檔案

資料:檔案中儲存的資料

什麼是SQL?

Structured Query Language:結構化查詢語言

其實就是定義了操作所以關係型資料庫的規則。每一種資料庫操作的方式存在不一樣的地方,稱為“方言”。

SQL通用語法:

1.SQL語句可以單行或者多行書寫,以分號結尾。

2.可以使用空格和縮排提高程式的可讀性。

3.MySQL資料庫的SQL語句不區分大小寫,關鍵字建議使用大寫

4.三種註釋 

單行註釋: -- 註釋內容 或者 # 註釋內容(MySQL特有)

多行註釋:/* 註釋 */

SQL分類:

DDL:Data Difinition Language 資料定義語言,一般用來庫和表頭的建立和刪除;

DML:Data Manipulation Language 資料操作語言,一般用來做表中資料的增加、刪除和修改;

DQL:Data Query Language 資料查詢語言,用來在資料庫中查詢的語言,select就在這裡;

DCL:Data Control Language 資料控制語言,一般是DBA才會用到的資料庫使用者管理及日常維護語言。

DDL:運算元據庫和表

1.運算元據庫:CRUD 

C(Create):建立

建立資料庫:

   create database 資料庫名稱;

建立資料庫,判斷不存在:

   create database if not exists  資料庫名稱;

建立資料庫,並指定字符集:

   create database 資料庫名稱 character set 字符集名稱;

練習:建立一個db4資料庫,判斷是否存在,並指定字符集為gbk:

   create database if not exists db4 character set gbk;

R(Retrieve):查詢

查詢所有資料庫的名稱:show databases;

檢視某個資料庫的字符集(查詢某個資料庫的建立語句):show create database 資料庫名稱;

U(Update):修改

修改資料庫的字符集

   alter database 資料庫名稱 character set 字符集名稱;

D(Delete):刪除

刪除資料庫

   drop database 資料庫名稱;

判斷資料庫存在,存在再刪除

   drop database if exists 資料庫名稱;

使用資料庫:

查詢當前正在使用的資料庫名稱: select database();

使用資料庫:use  資料庫名稱;

2.DDL操作表

C(Create):建立

語法:

create table 表名(

    列名1 資料型別1,

    列名2 資料型別2,

    ...

    列名n 資料型別n

);

注意最後一列不需要加逗號(,)

資料庫型別:

int :整數型別 如 age int,

double:小數型別 如 score double(5,2), 長度最大為5,精度為2

date:日期型別,只包含年月日的日期,格式yyyy-MM-dd

datetime:日期,包含年月日時分秒 yyyy-MM-dd  HH:mm-ss

timestamp:時間戳型別,包含年月日時分秒 yyyy-MM-dd  HH:mm-ss

和datetime區別:如果將來不給這個欄位賦值,或者賦值為null,則預設使用當前系統時間賦值。

varchar:字串 name varchar(20):姓名最大20個字元

建立表

create table student(

          id int,

          name varchar(32),

          age int,

          score double(4,1),

          birthday date,

          insert_time timestamp

);

複製表:create table 表名 like 被複制的表名;

R(Retrieve):查詢

查詢某個資料庫中所有表名稱:show tables;

查詢表結構:desc 表名;

show tables;

U(Update):修改

修改表名:   alter table  表名  rename to 新的表名;

修改表的字符集: alter table 表名 character set 字符集名稱;

新增一列:alter table 表名 add 列名 資料型別;

修改列的名稱   型別:  

alter table 表名 change 列名 修改後的新列名 新資料型別;

alter table 表名 modify 列名 新資料型別; 

刪除列: alter table 表名 drop 列名;

D(Delete):刪除

drop table 表名;

drop table if exists 表名;

客戶端圖形化工具:SQLYog

DML:增刪改表中資料

1.新增資料:

語法:insert into 表名(列名1,列名2,...列名n) values(值1,值2,  ...值n); 

注意:列名和值要一一對應

如果表名後,不定義列名,則預設給所有列新增值。

insert into 表名 values(值1,值2,  ...值n); 

除了數字型別,其他型別需要用引號(單雙引號都可以)引起來。

2.刪除資料

delete from 表名  [where  條件];

注意:如果不加條件,則刪除表中所有記錄。

如果要刪除所有記錄

delete from 表名; -- 不推薦使用。有多少條記錄就會執行多少次刪除操作。

TRUNCATE TABLE 表名;  -- 先刪除表,然後再建立一個一模一樣的空表。效率更高,推薦使用。

3.修改資料:

語法:update 表名 set 列名1=值1,列名2=值2,......[where 條件];

注意:如果不加任何條件,則會將表中記錄全部進行修改。

DQL:查詢表中的記錄

select * from 表名;

 

相關文章