服務啟動和停止
- 停止數據庫服務
net stop MySQL
- 開啟數據庫服務
net start mysql
數據庫相關操作
連接數據庫
mysql -uroot -p 密碼
修改密碼
alter user 'root'@'localhost' identified by 'root';
創建數據庫
create database 數據庫名;
顯示所有數據庫
show databases;
使用數據庫
use 數據庫名;
刪除數據庫
drop database 數據庫名;
數據庫表相關操作
創建數據庫表
create table 表名 (
列名1 數據類型1,
列命2 數據類型2,
...
列名n 數據類型n,
primary key 列名(主鍵)
);
查看數據庫中的所有表
show tables;
查看數據庫表結構
desc 表名;
刪除表
drop table 表名;
修改數據庫表名
alter table 表名 rename to 新表名;
添加列
alter table 表名 add 列名 數據類型;
刪除列
alter table 表名 drop 列名;
表中數據相關操作
添加數據
insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
添加列要和值相對應
insert into 表名 values(值1,值2,...值n);
值要包含表中所有的列
刪除數據
delete from 表名 where 條件;
刪除滿足條件的數據。
delete from 表名;
默認刪除表里的所有數據
修改數據
update 表名 set 列名1 = 值1, 列名2 = 值2,... where 條件
修改滿足條件的數據
update 表名 set 列名1 = 值1, 列名2 = 值2,...;
如果是不加條件,則修改所有的數據。
查詢數據
select 列命 from 表名,
查詢某列的數據
select * from 表名
查詢所有列的數據
select distinct 列命 from 表名,
查詢去重后的數據
條件語句

select * from 表名 where 條件1 and 條件2,查詢同時滿足條件1和條件2的數據。
select * from 表名 where 條件1 or 條件2,查詢滿足條件1或條件2的數據。
select * from 表名 where not 條件1,查詢不滿足條件1的數據。

select * from 表名 where 列名 is null;,查詢某列為空的數據。
select * from 表名 where 列名 is not null;,查詢某列非空的數據。
select * from 表名 where 列名 between 值1 and 值2;,查詢某列在值1和值2之間的數據。
select * from 表名 where 列名 like 'hello%';,查詢所有以hello開頭的數據,like結合%使用,其中%代表0到任意個字符。
select * from 表名 where 列名 like 'hello_';,查詢所有以hello開頭并且后面只跟一個字符的數據,like結合_使用,_代表1個字符。
select * from 表名 where 列名in (值1,值2,...);,查詢某列在某區域內的數據。
排序和分頁
整理了一份JAVA核心知識點。覆蓋了JVM、鎖、并發、Java反射、Spring原理、微服務、Zookeeper、數據庫、數據結構等大量知識點。基本上涵蓋了Java架構所有的技術知識點的資料,還覆蓋了大廠面試題,同時也有一些springboot等項目源碼分享給大家


由于資料圖片太多就不一一的展示出來了
如果需要獲取到這個文檔的話幫忙轉發一下然后再關注我私信回復“架構資料”得到獲取方式吧!
select* from 表名 order by 列名;,通過該列進行升序排序。
select* from 表名 order by 列名 desc;,通過該列進行降序排序。
select* from 表名 limit offset,pagesize;,查詢索引從offset(第一個數據索引是0)開始,每頁顯示pagesize個元素。
select* from user limit 0,10;,查詢出的用戶表數據,從第1個用戶開始顯示,每頁顯示10個。
select* from user limit 10,10;,查詢出的用戶表數據,從第10個用戶開始顯示,每頁顯示10個。
分組查詢
select 字段名 from 表名 group by 字段名
select 字段名 count(字段名) from 表名 group by 字段名
舉個例子
這里以下方的數據為例子

select user_type from user group by user_type;

select user_type,count(user_type) from user group by user_type;

聯表查詢
聯表查詢關鍵字為join,如果需要判斷條件的話是添加join on + 條件 以下方的例子為例子

表結構

內連接
內連接為一種最常用的聯表查詢,即,inner join,當我們查詢了學生姓名和成績的時,需要用到student 學生表和result成績表,而inner join 查出的結果就是,學生表中有該學生而且成績表中對應的有該學生的成績,滿足這一條件成績就會被查詢出來。

栗子如下

外連接
外連接分為左連接和右連接,
左連接
所謂的左連接,也就是在內連接的基礎上,把左表中的所有信息給打印。

右連接
右連接和左連接差不多,在內連接的基礎上把右邊的表的信息打印。

以查詢學生姓名和成績為例子,右連接會把沒有姓名的成績打印出來,下面進行演示。

MySql 事物
事物簡介
事物
事物是一個最小的不可再分的工作單元,通常一個事物對應一個完整的業務。事物處理可以用來維護數據庫的完整性,保證成批的SQL語句要嗎全部執行,要么都不執行。
事物操作
開啟事物
start transaction;
提交事物,數據寫回磁盤
commit
回滾事物
rollback
查看事物是否開啟自動提交
show variables like 'autocommit';

關閉事物自動提交
set autocommit=off;

通過銀行轉賬的例子演示事物
數據如下

同時失敗或者同時成功
update bank set money=700 where id=1;
update bank set money=600 where id=2;
所以需要先開啟事物,再提交事物
start transaction;
update bank set money=700 where id=1;
update bank set money=600 where id=2;
commit;
事物特征
原子性 一致性 隔離性 持久性
事物的安全隱患

查看事物隔離級別
select @@transaction_isolation;

設置隔離級別為讀未提交
set session transaction isolation level read uncommitted;
設置隔離界別為讀已提交
set session transaction isolation level read committed;
設置隔離級別為可重復讀
set session transaction isolation level repeatable read;
設置隔離界別為可串行化
set session transaction isolation level serializable;
MySql 索引
索引分為主鍵索引,唯一索引,普通索引,組合索引,全文索引。
- 查看表中數據數量
select count(*) from 表名;

- 查看表中索引
show index from 表名;

- 刪除索引
drop index 索引名 on 表名;
- 刪除主鍵索引,也就是刪除了該字段
alter table 表名 drop 主鍵字段名;
主鍵索引
表結構
create table test(
id int(11),
name varchar(25),
primary key (id)
);
創建表的時候添加索引
alter table test add constraint id primary key(id);
唯一索引
表結構
create table test(
id int(11),
name varchar(25),
unique index_unique_test_name (name)
);
創建表之后創建唯一索引
create unique index index_unique_test_name on test(name);
修改表結構為唯一索引
alter table test add unique index index_unique_test_name (name);
普通索引
表結構
create table test(
id int(11),
name varchar(25),
index index_test_name (name)
);
創建表之后創建普通索引
create index index_test_name on test(name);
修改表結構為普通索引
alter table test add index index_test_name (name);
組合索引
表結構
create table test(
id int(11),
name varchar(25),
index index_test_id_name (id,name)
);
創建表之后創建組合索引
create index index_test_id_name on test(id,name);
修改表結構為普通索引
alter table test add index index_test_id_name (id,name);
全文索引
表結構
create table test(
id int(11),
name varchar(25),
content text,
fulltext (text)
);
創建表之后創建組合索引
create fulltext index index_content on test(content);
修改表結構為普通索引
alter table test add fulltext index index_content (content);