數據庫管理操作
一、數據庫的管理、使用
1、數據庫的安裝及啓用:https://blog.csdn.net/lkolkolkol/article/details/104564291
2、使用mysql數據庫客戶端命令
3、windows系統上進行遠程登錄管理
(1)常用軟件:phpMyAdmin、Navicat
二、SQL語言
1、SQL與T-SQL
(1)SQL:結構化查詢語言,是目前關係型數據庫管理系統中使用最廣泛的查詢語言
(2)T-SQL:SQL 程序設計語言的增強版,它是用來讓應用程式與 SQL Server 溝通的主要語言。提供標準 SQL的DDL 和 DML功能,加上延伸的函數、系統預存程序以及程式設計結構(例如 IF 和 WHILE)讓程式設計更有彈性。
2、SQL語言組成
(1)DML:數據操縱語言
①插入數據:instert into 表名(字段1,字段2……) values(值1,值2……);
②修改數據:update 表名 set 字段1=值1,字段2=值2…… where 條件
③刪除數據:delete from 表名 where 條件
(2)DQL:數據查詢語句
①查詢數據:select 字段名1,字段名2…… from 表名 where 條件
(3)DDL:數據定義語言
①創建庫:create database 庫名;
②創建表:create table 表名(字段1 類型,字段2 類型……,PRIMARY KEY(主鍵名));
③刪除庫:drop database 庫名;
④刪除表:drop table 庫名.表名;
⑤刪除表字段:alter table 表名 drop 字段1;
⑥添加表字段:alter table 表名 add 字段1 類型 [after 指定字段之後];
⑦修改表字段:
1)修改類型:alert table 表名 modify 舊字段 新類型;
2)修改字段:alert table 表名 change 舊字段 新字段 新類型[not null default 值];
3)修改默認值:alter table 表名 alter 字段 set default 值;
4)刪除默認值:alter table 表名 alter 字段 drop default;
(4)DCL:數據庫控制語言
①grant 權限 on 數據庫對象 to 用戶
1)grant all on *.* to user@’192.168.1.%’ [identified by ‘111111’];
②revoke 權限 on 數據庫對象 from 用戶
③權限列表:
權限 |
描述 |
alter any cluster |
修改任意簇的權限 |
alter any index |
修改任意索引的權限 |
alter any role |
修改任意角色的權限 |
alter any sequence |
修改任意序列的權限 |
alter any snapshot |
修改任意快照的權限 |
alter any table |
修改任意表的權限 |
alter any trigger |
修改任意觸發器的權限 |
alter cluster |
修改擁有簇的權限 |
alter database |
修改數據庫的權限 |
alter procedure |
修改擁有的存儲過程權限 |
alter profile |
修改資源限制簡表的權限 |
alter resource cost |
設置佳話資源開銷的權限 |
alter rollback segment |
修改回滾段的權限 |
alter sequence |
修改擁有的序列權限 |
alter session |
修改數據庫會話的權限 |
alter sytem |
修改數據庫服務器設置的權限 |
alter table |
修改擁有的表權限 |
alter tablespace |
修改表空間的權限 |
alter user |
修改用戶的權限 |
analyze |
使用analyze命令分析數據庫中任意的表、索引和簇 |
audit any |
爲任意的數據庫對象設置審計選項 |
audit system |
允許系統操作審計 |
backup any table |
備份任意表的權限 |
become user |
切換用戶狀態的權限 |
commit any table |
提交表的權限 |
create any cluster |
爲任意用戶創建簇的權限 |
create any index |
爲任意用戶創建索引的權限 |
create any procedure |
爲任意用戶創建存儲過程的權限 |
create any sequence |
爲任意用戶創建序列的權限 |
create any snapshot |
爲任意用戶創建快照的權限 |
create any synonym |
爲任意用戶創建同義名的權限 |
create any table |
爲任意用戶創建表的權限 |
create any trigger |
爲任意用戶創建觸發器的權限 |
create any view |
爲任意用戶創建視圖的權限 |
create cluster |
爲用戶創建簇的權限 |
create database link |
爲用戶創建的權限 |
create procedure |
爲用戶創建存儲過程的權限 |
create profile |
創建資源限制簡表的權限 |
create public database link |
創建公共數據庫鏈路的權限 |
create public synonym |
創建公共同義名的權限 |
create role |
創建角色的權限 |
create rollback segment |
創建回滾段的權限 |
create session |
創建會話的權限 |
create sequence |
爲用戶創建序列的權限 |
create snapshot |
爲用戶創建快照的權限 |
create synonym |
爲用戶創建同義名的權限 |
create table |
爲用戶創建表的權限 |
create tablespace |
創建表空間的權限 |
create user |
創建用戶的權限 |
create view |
爲用戶創建視圖的權限 |
delete any table |
刪除任意表行的權限 |
delete any view |
刪除任意視圖行的權限 |
delete snapshot |
刪除快照中行的權限 |
delete table |
爲用戶刪除錶行的權限 |
delete view |
爲用戶刪除視圖行的權限 |
drop any cluster |
刪除任意簇的權限 |
drop any index |
刪除任意索引的權限 |
drop any procedure |
刪除任意存儲過程的權限 |
drop any role |
刪除任意角色的權限 |
drop any sequence |
刪除任意序列的權限 |
drop any snapshot |
刪除任意快照的權限 |
drop any synonym |
刪除任意同義名的權限 |
drop any table |
刪除任意表的權限 |
drop any trigger |
刪除任意觸發器的權限 |
drop any view |
刪除任意視圖的權限 |
drop profile |
刪除資源限制簡表的權限 |
drop public cluster |
刪除公共簇的權限 |
drop public database link |
刪除公共數據鏈路的權限 |
drop public synonym |
刪除公共同義名的權限 |
drop rollback segment |
刪除回滾段的權限 |
drop tablespace |
刪除表空間的權限 |
drop user |
刪除用戶的權限 |
execute any procedure |
執行任意存儲過程的權限 |
execute function |
執行存儲函數的權限 |
execute package |
執行存儲包的權限 |
execute procedure |
執行用戶存儲過程的權限 |
force any transaction |
管理未提交的任意事務的輸出權限 |
force transaction |
管理未提交的用戶事務的輸出權限 |
grant any privilege |
授予任意系統特權的權限 |
grant any role |
授予任意角色的權限 |
index table |
給表加索引的權限 |
insert any table |
向任意表中插入行的權限 |
insert snapshot |
向快照中插入行的權限 |
insert table |
向用戶表中插入行的權限 |
insert view |
向用戶視圖中插行的權限 |
lock any table |
給任意表加鎖的權限 |
manager tablespace |
管理(備份可用性)表空間的權限 |
references table |
參考表的權限 |
restricted session |
創建有限制的數據庫會話的權限 |
select any sequence |
使用任意序列的權限 |
select any table |
使用任意表的權限 |
select snapshot |
使用快照的權限 |
select sequence |
使用用戶序列的權限 |
select table |
使用用戶表的權限 |
select view |
使用視圖的權限 |
unlimited tablespace |
對錶空間大小不加限制的權限 |
update any table |
修改任意表中行的權限 |
update snapshot |
修改快照中行的權限 |
update table |
修改用戶表中的行的權限 |
update view |
修改視圖中行的權限 |
3、查詢命令詳解
(1)用查詢內容創建新表:create table A select * from B;(sql server:select into)
(2)條件命令:where
(3)組查詢:group by
①不帶函數,則直接返回非重複的第一行數據
②函數count():返回相同值的個數——select status,count(*) from user group by status;
(4)排序:order by 條件 [asc/desc];
(5)聚合函數
(6)運算符:
①算術運算符
②比較運算符
③邏輯運算符
④位運算符