文章目錄
一、數據庫的概述
-
數據庫作用:數據持久化保存,高可靠,高可用,數據的快速提取。
-
數據庫存儲類型:關係型數據庫 非關係型數據庫。
1.1、關係型數據庫
-
其存儲結構是二維表格,反映事物及其聯繫的數據是以表格形式保存的
-
在每個二維表中,每一行稱爲一條記錄,用來描述一個對象的信息,每一列稱爲一個字段,用來描述對象的一個屬性。
-
關係型數據庫:
MySQL(oracle公司),sql server(微軟公司),access(微軟公司),oracle,db2(IBM公司),sybase(sybase公司)
1.2、非關係型數據庫
-
非關係型數據庫存儲方式
- 鍵-值方式(key–value),以鍵爲依據存儲、刪、改數據
- 列存儲(Column-oriented), 將相關的數據存儲在列族中
- 文檔的方式,數據庫由-系列數據項組成,每個數據項都
有名稱與對應的值
-
非關係型數據庫(統稱NOSQL):
- redis(內存數據庫/緩存數據庫): K-V鍵值對 key-value 變量名-值
- memcache (內存數據庫/緩存數據庫) :K-V鍵值對
-
非關係型數據庫的優點:
- 數據庫高併發讀寫的需求
- 對海量數據高效率存儲與訪問
- 數據庫的高擴展性與高可用性的需求
二、數據庫的基本操作命令
2.1、查看數據庫結構
1、查看數據庫的列表信息
show datebases;
2、查看數據庫中的數據表信息
use 數據庫名 #切換到庫
show tables 查看庫中的表
3、顯示數據表的結構
describe [數據庫名.]表名
例如:
describe student.stu;
或者
先切換到student庫,再顯示錶結構。
三、SQL語句
3.1、SQL語言分類
1、SQL語言
- 是Structured Query Language的縮寫,即結構化查詢語言
- 是關係型數據庫的標準語言
- 用於維護管理數據庫,如數據查詢、數據更新、訪問控制、對象管理等功能
2、SQL分類
- DDL:數據定義語言
- DML:數據操縱語言
- DQL:數據查詢語言
- DCL:數據控制語言
3.2、DDL語句
- DDL語句用於創建數據庫對象,如庫、表、索引等
- 1、使用DDL語句新建庫、表
- 創建數據庫
- 創建數據表:CREATE TABLE 表名(字段定義…)
- 創建數據庫
- 2、使用DDL語句刪除庫、表
- 刪除指定的數據表:DROP TABLE [數據庫名.]表名 (若在數據庫中,命令不帶庫名即可刪除)
- 刪除指定的數據庫:DROP DATABASE 數據庫名
- 刪除指定的數據表:DROP TABLE [數據庫名.]表名 (若在數據庫中,命令不帶庫名即可刪除)
3.3、DML語句
- DML語句用於對錶中的數據進行管理
- 包括以下操作:
- INSERT:插入新數據
- UPDATE:更新原有數據
- DELETE :刪除不需要的數據
- 1、向數據表中插入新的數據記錄
- INSERT INTO 表名(字段1,字段2, …) VALUES(字段1的值,字段2的值,…)
- INSERT INTO 表名 VALUES(字段1的值,字段2的值,…)
#第一種插入記錄的方法:
insert into stu (id,name,address) values (2,'lisi','上海'),(3,'wangwu','北京');
#第二種插入記錄方式:
insert into stu values (4,'yiyi','北京');
注意:如果 id 類型設定爲 auto_increment ,則插入記錄時不需要再寫每條記錄的id號,可以自動生成,但是insert 插入記錄時不能用第二種方式,只能用第一種。
# decimal 指浮點類型 primary key 指主鍵
#auto_increment 指字陣列 varchar指可變長字符串
create table stu01 (id int not null primary key auto_increment,name char(10) not null,age int not null,score decimal(5,2),addr varchar(50) default '南京',hobby int);
- 2、修改、更新數據表中的數據記錄
- update 表名 set 字段名1=值1[,字段名2=值2] where 條件
表達式
- update 表名 set 字段名1=值1[,字段名2=值2] where 條件
update stu set address='杭州' where id=4;
- 3、在數據表中刪除指定的數據記錄
- delete from 表名 where 條件表達式
delete from stu where name='wangwu';
3.4、DQL語句
- DQL是數據查詢語句,只有一條: SELECT
- 用於從數據表中查找符合條件的數據記錄
- 查詢時可不指定條件
- select 字段名1,字段名2… from 表名
select * from stu;
select name from stu;
- 查詢時指定條件
- select 字段名1,字段名2… from 表名 where 條件表達式
select * from stu where id=2;
3.5、DCL語句
- 設置用戶權限(用戶不存在時,則新建用戶)
grant 權限列表 on 數據庫名錶名 to '用戶名'@'來源地址' identified by ‘密碼';
- 查看用戶的權限
show grants for 用戶名@來源地址
- 撤銷用戶的權限
revoke 權限列表 on 數據庫名.表名 from '用戶名'@'來源地址';