一、MySQL基本數據類型
tinyint 【4】 0~255 ----年齡
smallint 【6】 ±32w ----員工數
int 【11】 ±21億 ----國家人口數
decimal 【10,0】 ±999.99 ----單價(不上千的數)
char 【1】 ----公司名
varchar 【無】 ----大部分
date 【0】 1000-01-01~9999-12-31 ----年月日
time 【0】 ±35天59分59秒 ----時間
datetime 【】 ----年月日時間
二、基本語法快速記憶手冊
1、增字段
-- alter table 表名
-- add column 字段名 新數據類型
2、更名字段
-- alter table 表名
-- change 舊字段名 新字段名 數據類型;
3、改數據類型
-- alter table 表名
-- modify 字段名 新數據類型;
4、刪除字段(一個個刪)
-- alter table 表名
-- drop 字段名
5、精准添加數據
-- insert 表名 (字段) values
-- (與字段對應,與字段對應),
-- (與字段對應,與字段對應)
6、添加整行數據
-- insert 表名 values
-- (全字段對應);
7、更新數據
-- update 表名 set
-- 字段名=字段值,
-- 字段名=字段值
-- where 字段名=字段值(為索引)
8、刪除整行數據
-- delete from 表名
-- where 字段名=字段值(索引)
9、刪除具體字段數據(以更新方式)
-- 字段名=null,
-- 字段名=新字段值
-- where 字段名=字段值(索引)-- update 表名 set
10、添加外鍵
-- alter table 表名
-- add constraint 外鍵名 foreign key(字段) references 參照表名(參照字段)
-- on delete 刪除規則 on update 更新規則
11、刪除外鍵
-- drop foreign key 外鍵名
12、添加唯一約束
-- alter table 表名
-- add unique(約束名)字段名
13、刪除唯一約束
-- alter table 表名
drop index 字段
14、添加默認值
-- alter table 表名
-- alter column 字段 set default 默認值;
15、刪除默認值
-- alter table 表名
-- alter column 字段名 drop default;
16、拷貝表結構(全字段)
create table 新表 like 舊表;
17、拷貝表結構(字段)字段
create table 新表 select 字段1,字段2 from 舊表;
18、拷貝數據
insert 新表 select * from 舊表;
19、查詢不同字段表數據
select distinct 字段名 from 表名;
20、coalesce(a,b,c);
參數說明:如果a==null,則選擇b;如果b==null,則選擇c;如果a!=null,則選擇a;如果a b c 都為null ,則返回為null(沒意義)。配合 with rollup
21、求余數 (x%y)
mod(x,y)
22、自增長 起始值 設置
alter table 表名 auto_increment = 起始值;
23、添加自增長
alter table 表名 modify 字段 類型 auto_increment ;
24、-- 自增量設置(每次增1)
set @@auto_increment_increment =1;
25、MySQL下標由1開始,在MySQL中一個中文字3個字節
26、日期操作
年月日時分 now() 年月日 curdate() 時分秒 curtime()
select weekday('2019-12-1') 當前星期幾 -- 加1就准了
select dayofyear('2019-12-1') 一年中第幾天 -- 非常准確
select date_add('2019-12-1',interval 20 day) 日期加20天 {減法使用:date_sub}
select datediff(now(),'2019-12-1') 天數間隔
select timestampdiff(Year,日期,now()) 指定格式間隔 | DAY,WEEK,HOUR,MONTH
select date_format(now(),'%Y-%c-%d %H:%i:%s') 自定義顯示日期 24小時制 {12小時制 %h小時 %p上下午 }
三、如果MySQL出現意外,需要重裝
(1)停止服務 (win+R搜索services.msc ) 找到MySQL服務,將MySQL的服務給停止
(2)開始菜單搜索 》》 控制面板 》》 卸載程序 》》MySQL》》卸載。
(3)刪除注冊表( win+R搜索regedit)
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL
(4)刪除數據和記錄(如果沒有可能是隱藏的,顯示隱藏目錄即可)比如:C:\ProgramData\MySQL(把MySQL文件夾刪除)
(5)重啟電腦。
四、既然卸載了,那就來進行 安裝 吧
1、 首先下載:https://www.mysql.com/downloads/ 下載最新版的壓縮文件,解壓到你喜歡的位置(建議目錄不帶中文)
2、比如我的目錄是:J:\MySQL\MySQL\mysql-8.0.18-winx64
那么我們在這個目錄下新建一個my.ini 配置文件,然后寫入以下內容:
[mysql]
# 設置mysql客戶端默認字符集 (“#”號是注釋,每個#號是為了解釋下一行代碼的作用!)
default-character-set=utf8
[mysqld]
#設置3306端口
port = 3306
# 設置mysql的安裝目錄(注意:目錄要和你的目錄對應)
basedir=J:\MySQL\MySQL\mysql-8.0.18-winx64
# 設置mysql數據庫的數據的存放目錄 (注意:目錄要和你的目錄對應,"\data"別漏掉了哦)
datadir=J:\MySQL\MySQL\mysql-8.0.18-winx64\data
# 允許最大連接數
max_connections=200
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
3、添加環境變量 (為了方便后續的操作)
我的電腦右鍵屬性-->高級系統設置-->環境變量-->系統變量中找到Path-->點擊編輯-->新建 加入Mysql的bin目錄路徑(比如:我的是這樣的)
4、真正開始安裝了
在開始菜單搜索 CMD命令提示符,右鍵以管理員身份運行(不用管理員身份會失敗)
依次輸入:(一步執行一句代碼!)
mysqld --install (安裝)
mysqld --initialize(初始化,這一步會慢一點,耐心等待喔!)
net start mysql(運行)
5、密碼是隨機生成的,我們得去找到密碼,然后登陸MySQL
首先:在MySQL目錄下(比如我是J:\MySQL\MySQL\mysql-8.0.18-winx64)搜索*.err ,會出現一個文件,我們右鍵用記事本打開它!
我們找到一句話 A temporary password is generated for root@localhost: >mso<k70mrWe (為root @ localhost生成一個臨時密碼:> mso <k70mrWe)
然后重新打開一個cmd黑窗口輸入 mysql -uroot -p 按Enter鍵 把你密碼復制粘貼進去 就成功登陸了
6、咱得把密碼改一下,不然記不住哈!!
在你登陸成功后的cmd窗口中繼續打一句代碼(復制過去,密碼也可以為空)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';