1. 程式人生 > >Web安全學習_MySQL

Web安全學習_MySQL

一、資料庫操作

新增資料庫

create database 資料庫名 庫選項;
庫選項:字符集設定(編碼格式,如GBK、UTF8)
	   校對及設定(資料比較的規則)

資料庫名字不能用關鍵字和保留字,如若要用需在外部用`定界。
如取中文名需要輸入命令:

set names GBK;
create database 中文名字 charset utf8;

檢視建立的資料庫

show databases;

檢視資料庫的建立語句

show create database 資料庫名;

更新資料庫
只能修改庫選項,不能改資料庫的名字

alter database 資料庫名 庫選項;

刪除資料庫

drop database 資料庫名;

二、資料表操作

新增資料表

create table if not exists 表名(
欄位名字 資料型別,
......
欄位名字 資料型別   --最後一行不需逗號
) 表選項;

if not exists :可選,如果表名存在則不執行建立程式碼(檢查功能)

表選項:charset/character set 具體字符集
collecte 具體校對集
儲存引擎:engine 具體儲存引擎(innodb和myisam)

方法1:顯式指定所屬資料庫
create table 資料庫名.表名()表選項;
方法2:隱式指定表所屬資料庫(先進入某個資料庫,然後建立表)


進入資料庫環境:use 資料庫名;
建立資料表

檢視資料表

show tables;

檢視資料表建立語句

show create table 表名 (\g或\G);
--可加引數\g:\g表示分號
--\G:\G表示將查到的表旋轉90度表示

查看錶結構
desc/describe/show columns from 表名;

更新資料表

rename table 表名 to 修改的名;

修改表選項

alter table 表名 表選項;

修改表名

rename table 舊錶名 to 新表名;

刪除資料表

drop table 表名1,表名2......;

可以一次刪除多個數據表

三、欄位操作

新增欄位

alter table 表名 add 行號 欄位名 資料型別 列屬性 位置;
  • 欄位名可以放到任何位置,first為第一個位置
  • after後加欄位名錶示表示在哪個欄位之後插入,預設最後
  • 行號、列屬性和位置可省略

修改欄位(修改屬性或資料型別或者位置)

alter table 表名 modify 欄位名 資料型別 屬性 位置;
  • 屬性和位置可省略

重新命名欄位

 alter table 表名 change 舊欄位名 新欄位名 資料型別 屬性 位置
  • 屬性和位置可省略

刪除欄位

alter table 表名 drop 欄位名;

四、資料操作

新增資料

--給全表插入資料
--(無需指定欄位列表,資料出現的順序與表中欄位的順序一致,非數值資料用單引號包裹)
insert into 表名 values(值列表逗號隔開),(值列表)......;
--給指定欄位插入資料(需指定欄位列表,值順序與指定的列表順序一致)
insert into 表名(欄位列表) values(值列表),(值列表)......;

檢視資料

select *或指定欄位 from 表名 where 條件;
  • where條件可省略

更新資料

update 表名 set 欄位=值 where條件;
  • where條件可省略

刪除資料

delete from 表名 where條件;
  • where條件可省略

五、字符集問題

檢視伺服器支援那些字符集的命令

show character set;

檢視伺服器預設的字符集

show variables like'character_set%';

在這裡插入圖片描述

修改伺服器預設字符集(只是會話級別,當重新進入資料庫後就會失效)

set variable_name=字符集;

快捷方法:

set names 字符集;//改變character_set_client、character_set_connection、character_set_result