(注:以下db為database col為column,即欄位 tb為table)
目錄
1、軟體介紹
2、MySQL資料庫層次結構
3、MySQL的字符集以校驗規則的查看和修改
4、操作資料庫
4.1、創建資料庫
4.2、洗掉資料庫
4.3、修改資料庫字符集、校驗規則
4.4、查看服務器里的所有資料庫
5、操作表
5.1、創建表
5.2、洗掉表
5.3、修改表
5.4、查看表
5.5、復制表
6、操作資料
6.1、插入表資料
6.2、復制表的資料(前提:兩個表的結構相同)
6.3、匯出資料表的資料到外部檔案
6.5、從外部檔案匯入資料到資料庫表
6.4、洗掉表資料
6.6、插入圖片的兩種方式
1、軟體介紹
樓主僅是軟工小白,博客僅用作學習筆記,并不專業,望大家諒解哈,
樓主使用的軟體是老師給我們學習用的,并不是大家傳統使用的哈,以下為截圖,



第一步是打開MySQL5.1檔案目錄下的sateup.cmd,
第二步是打開mysql-front5.1下的MySQL-Front.exe
輸入服務器localhost以及登陸密碼root


打開后就是以下界面,里面有我們老師供我們使用的基本的資料庫

2、MySQL資料庫層次結構(此處搬用他人筆記,因為我上課走神了=-= ---原文:mysql資料庫層次結構_MySQL邏輯分層介紹_無名沙的博客-CSDN博客)
MySQL一般分為四個層次:連接層,服務層,引擎層,存盤層,
連接層
提供與客戶端連接的服務,
當客戶端發出一個請求后(如增刪改查的SQL陳述句),首先到達該層,將服務器與客戶端建立連接,
服務層
服務層分兩個作用:
提供各種用戶使用的介面, 如select、insert等
提供SQL優化器(MySQL Query Optimizer), SQL優化器是MySQL服務層自帶的一個服務,它會自動優化用戶寫得不是最優的SQL,使其達到優化的效果,但由于優化器畢竟只是優化器,有時候會將用戶自定義的優化方案給更改掉,從而使用戶自己的優化方案失效,這一點需要注意,
引擎層
引擎層提供各種資料存盤的方式,MySQL的存盤引擎有很多,比較常用的比如有InnoDB, MyISAM,
InnoDB與MyISAM的區別為:
InnoDB 事務優先,所以適合高并發操作,使用的是行鎖
MyISAM 性能優先,適合查詢多的場景,使用的是表鎖
查看存盤引擎
show engines;
查看默認存盤引擎
show variables like 'default_storage_engine%';
存盤層
資料存盤層,主要講資料存盤在運行裸設備的檔案系統上,并完成與存盤引擎的互動
3、MySQL的字符集以校驗規則的查看和修改
顯示字符集
show character set;
顯示校驗規則
show collation like 'utf8(gbk...)%';
查看各個層次的字符集
show variables like 'character_set_%';
修改服務層編碼(字符集)
set character_set_client = GBK;
修改所有層編碼
set names 'utf8';
4、操作資料庫
4.1、創建資料庫
create {database|schema} [if not exists] db_name
[default] character set character_name
[default]collate collation_name;
(字符集及校驗規則可不設定)
4.2、洗掉資料庫
drop database [if exists] db_name;
4.3、修改資料庫字符集、校驗規則
(將資料庫db_name的字符集設為gb2312,校驗規則為gb2312_chinese_ci)
alter database db_name
character set gb2312
collate gb2312_chinese_ci;
4.4、查看服務器里的所有資料庫
show databases;
打開要使用的資料庫
use db_name;
查看當前正在使用的資料庫
select database();
5、操作表
5.1、創建表
create table [if not exists] tb_name
(field_name data_type is_null auto increment primary key comment'xxx',
name varchar(4) not null,
...)engine=innodb default charset=utf8;
補充:SQL中字串使用單引號的原因:(與Java陳述句中的雙引號做區別)
Resultset query(String sql)——結果集查詢函式(Java)
sql = "select * from students"
sql = "select * from students where sex='男' "(這里'男'用單引號引出,為SQL陳述句,sql=""內雙引號部分為Java陳述句)
創建主鍵的兩種方法:
1、在欄位后面直接跟關鍵字primary key
s_no char(4) not null primary key comment'學號'
2、在所有欄位定義完了用primary key(欄位名) ——此方法可以用來創建多個主鍵
primary key(s_no、s_name)
5.2、洗掉表
drop table [if exists] tb_name;
5.3、修改表
5.3.1、添加一個欄位
alter table tb_name
add [column] col_definition(欄位屬性) [first|after col_name](位置);
注:
alter table course
add c_id int(6) not null auto_increment first;——此為錯誤,因為設為鍵的欄位才能設定為自增長
所以我們可以給c_id增加unique key(唯一索引)
alter table course
add c_id int(6) not null unique key auto_increment first;
5.3.2、修改欄位默認值
alter table tb_name
alter col_name [set default d_value|drop default]
5.3.3、重命名欄位(欄位名,欄位型別,寬度,默認值......)
alter table tb_name
change old_col_name col_definition [first|after col_name]
5.3.4、修改欄位型別
alter table tb_name
modify col_name data_type;
5.3.5、洗掉列
alter table tb_name
drop col_name;
5.3.6、給表重命名
alter table tb_name
rename to new_tb_name
5.4、查看表
5.4.1、查看資料庫下有哪些表
show tables;
5.4.2、查看表的基本結構
describe tb_name;
desc tb_name;
5.4.3、查看表的詳細結構
show create table tb_name;
5.5、復制表
5.5.1、復制表的結構
create [temporary] table [if not exists] new_tb_name like old_tb_name;
5.5.2、復制表的結構與資料
create [temporary] table [if not exists] new_tb_name as select * from old_tb_name;
6、操作資料
6.1、插入表資料
6.1.1、插入欄位對應的資料(每列都要有對應的值)
方式一:
insert into tb_name values(欄位對應的值);
(主鍵重復 插入失敗)
方式二:
replace into tb_name values(欄位對應的值);
(主鍵重復 更新資料)
6.1.2、給指定的欄位插入值
insert into tb_name(col_name1、col_name2...)
values(欄位對應的值);
6.1.3、同時插入多條資料
insert into tb_name
values(欄位對應的值),
(......),
(......);
6.2、復制表的資料(前提:兩個表的結構相同)
insert into new_tb_name select * from old_tb_name ;
6.3、匯出資料表的資料到外部檔案
select ... from tb_name into outfile file_name
6.5、從外部檔案匯入資料到資料庫表
load data local infile file_name into table tb_name [character set xxx];
6.4、洗掉表資料
delete from tb_name;
6.6、插入圖片的兩種方式
方式一:直接寫圖片路徑
insert into tb_name
values('value','value','value','value','d:/456.png');
方式二:用load_file();
insert into tb_name
values('value','value','value','value',load('d:/456.png'));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/329263.html
標籤:區塊鏈
上一篇:mysql規則配置
