Web安全學習_MySQL
阿新 • • 發佈:2018-11-23
一、資料庫操作
新增資料庫
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