MySql總結
- 1、mysql-installer-community-8.0.16.0.msi的安裝教程
- 2、MySQL服務的啟動和停止
- 方式一:通過計算機管理方式
- 方式二:通過命令列方式
- 方式三:mysql命令
- 3、MySQL服務端的登錄和退出
- 4、 MySQL的常見命令
- 5、MySQL的語法規范
- 6、DML語言
- (1)插入
- (2)修改
- (3)洗掉
- 方式1:delete陳述句
- 方式2:truncate陳述句
- 7、DDL陳述句
- 庫和表的管理
- 8、MySQL資料庫中char和varchar的區別char 的長度是固定的;
- 9、修改密碼mysql登錄密碼
- 10、資料庫的備份與恢復
- 11、表的復制
- 12、union關鍵字使用
- 13、mysql不區分大小寫
- 14、Regexp
- 15、temporary創建臨時表
- 16、添加主鍵
- 17、添加索引
1、mysql-installer-community-8.0.16.0.msi的安裝教程








2、MySQL服務的啟動和停止
服務端安裝好了,它里面維護了一個大容器,大倉庫,但是它默認是沒有開著,是禁用狀態,哪怕你有權限,有身份也進不去,所以在使用前,必須要保證服務是啟動狀態,
方式一:通過計算機管理方式
右擊計算機-----管理-------服務------------啟動或停止mysql服務





方式二:通過命令列方式
net是windows系統自帶的,
啟動:net start mysql服務名
停止:net stop mysql服務名
注意:要用管理員身份打開命令列,在這個身份下才能開啟和停止服務


方式三:mysql命令
mysqladmin -u root -p shutdown 要輸密碼
這個是關閉mysql服務
3、MySQL服務端的登錄和退出
登錄:
mysql 【-h主機名 -P埠號 】-u用戶名 -p密碼
如果是在本機,可以省略 -h 主機名 -P埠號
退出:
exit或ctrl+C


注意:假如輸入命令被提示不是合法的內部命令,這是因為環境變數沒有配好,我們在安裝mysql不是配置了嗎?可能因為我們配置的安裝在后面,環境變數默認是從前往后找,可能會出現混淆,導致mysql不好使,那就要重新配置環境變數,將mysql中bin目錄的路徑添加到計算機Path路徑的第一行即可,
4、 MySQL的常見命令
1.查看當前所有的資料庫
show databases;
2.打開指定的庫
use 庫名
3.查看當前庫的所有表
show tables;
4.查看其它庫的所有表
show tables from 庫名;
5.創建表
create table 表名(
列名 列型別,
列名 列型別,
,,,
);
6.查看表結構
desc 表名;
7.查看服務器的版本
方式一:登錄到mysql服務端
select version();
方式二:沒有登錄到mysql服務端
mysql --version
或
mysql --V
案例:
展示所有資料庫,然后進入test資料庫查看表


此時可知test資料庫中沒有表,那我想看看mysql資料庫中有沒有表,
有兩種方式:
1.use mysql; =====> show tables;
2.show tables from mysql;

注意:此時還是在test資料庫中,
select database(); 查看當前在哪個庫中,

接下來在test庫中建一張表,并查看表以及表結構

然后查看該表資料,并且插入資料

接下來查看資料庫的版本
方式1:登錄到mysql服務端 select version();


方式二:沒有登錄到mysql服務端
mysql --version
或
mysql --V

5、MySQL的語法規范
1.不區分大小寫,但建議關鍵字大寫,表名、列名小寫
2.每條命令最好用分號結尾
3.每條命令根據需要,可以進行縮進 或換行
4.注釋
單行注釋:#注釋文字
單行注釋:-- 注釋文字 --空格
多行注釋:/* 注釋文字 */
6、DML語言
(1)插入
語法:
insert into 表名(欄位名,…)
values(值1,…);
(2)修改
修改單表語法:
update 表名 set 欄位=新值,欄位=新值
【where 條件】
修改多表語法:
update 表1 別名1,表2 別名2
set 欄位=新值,欄位=新值
where 連接條件
and 篩選條件
(3)洗掉
方式1:delete陳述句
單表的洗掉: ★
delete from 表名 【where 篩選條件】
多表的洗掉:
delete 別名1,別名2
from 表1 別名1,表2 別名2
where 連接條件
and 篩選條件;
方式2:truncate陳述句
truncate table 表名
兩種方式的區別【面試題】
#1.truncate不能加where條件,而delete可以加where條件
#2.truncate的效率高一丟丟
#3.truncate 洗掉帶自增長的列的表后,如果再插入資料,資料從1開始
#delete 洗掉帶自增長列的表后,如果再插入資料,資料從上一次的斷點處開始
#4.truncate洗掉不能回滾,delete洗掉可以回滾
7、DDL陳述句
庫和表的管理
庫的管理:
一、創建庫
create database 庫名
二、洗掉庫
drop database 庫名
表的管理:
#1.創建表
CREATE TABLE IF NOT EXISTS stuinfo(
stuId INT,
stuName VARCHAR(20),
gender CHAR,
bornDate DATETIME
);
DESC studentinfo;
#2.修改表 alter
語法:ALTER TABLE 表名 ADD|MODIFY|DROP|CHANGE COLUMN 欄位名 【欄位型別】;
#①修改欄位名
ALTER TABLE studentinfo CHANGE COLUMN sex gender CHAR;
#②修改表名
ALTER TABLE stuinfo RENAME [TO] studentinfo;
#③修改欄位型別和列級約束
ALTER TABLE studentinfo MODIFY COLUMN borndate DATE ;
#④添加欄位
ALTER TABLE studentinfo ADD COLUMN email VARCHAR(20) first;
關鍵字after可以改變增加列的順序,如果增加列為第一列,則要加first.
#⑤洗掉欄位
ALTER TABLE studentinfo DROP COLUMN email;
#3.洗掉表
DROP TABLE [IF EXISTS] studentinfo;
8、MySQL資料庫中char和varchar的區別char 的長度是固定的;
varchar的長度是可變的,
也就是說:我們定義一個char[11]和varchar[11],然后存在進去的是‘china’,
那么這時候char占的長度依舊是11,除去‘china’外,后邊還會跟著6個空格;
而varchar會立馬把長度變為5,
在取資料的時候
char需要用trim()去除空格;
而varchar不需要,
9、修改密碼mysql登錄密碼

10、資料庫的備份與恢復
備份:

恢復:

11、表的復制

12、union關鍵字使用
union聯合查詢
默認去重
Select * from 表1
Union
Select * from 表2;
如果不想去重,加上all
Select * from 表1
Union all
Select * from 表2;
13、mysql不區分大小寫

14、Regexp
select * from t_user where userName regexp ‘ ^n‘;
表示以n打頭
select * from t_user where userName regexp ‘ ^n$‘;
表示以n為結尾

15、temporary創建臨時表

16、添加主鍵
Alter table users add primary key(userId);

添加聯合主鍵:
洗掉主鍵:
ALTER TABLE stuinfo DROP PRIMARY KEY;
17、添加索引

洗掉索引:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/182344.html
標籤:其他
