【MySQL的基本知識(增、刪、改、查)(超精簡版)】
MySQL一些基本命令:
顯示時間 select now();
展示某個資料庫 show database 庫名;
建立一個數據庫 create database 庫名;
使用某個資料庫 use 庫名;
展示資料庫所有表 show tables;
刪除資料庫 drop database 庫名;
新建使用者xx,密碼為123 create user 'xx'@'localhost' identified by '123';
查詢使用者資料庫 select user from mysql.user;
刪除某個使用者 drop user 使用者名稱;
給使用者xx授權 grant all privileges on *.*to 'xx'@'localhost'
收回許可權 revoke all privileges,grant option from 'xx'@'localhost';
檢視儲存引擎 show engines;
臨時切換儲存引擎 set default_storage_engines=innoDB
資料定義語句(DDL)
create 建立一個表book:create table book();
drop 刪除一個表book:drop table book;
alter 修改列型別 alter table book change bname bname varchar(100)
alter table book modify bname varchar(100)
增加列price alter table book add price double
刪除列 alter table book drop price ;
改表名 alter table 老表名 rename to 新表名
rename table 舊錶名 to 新表名
truncate 清空表 truncate table book;
資料操作語句(DML)
insert 插入資料 insert into book() values()
update 修改資料 update book set salary=salary+1000 where 條件;
delete 刪除資料 delete from book where 條件;
資料查詢語句(DQL)
select 查詢表格資訊 desc book;
查看錶格資料 select * from book where 條件;
資料控制語句(DCL)
grant 新增許可權 grant all privileges on *.*to 'book'@'localhost';
revoke 收回許可權 revoke all privileges,grant option from 'book'@'localhost';
事務控制語句(TCL)
begin 啟動
commit 提交
rollback 回滾 (TCL只針對操作語言)
類似建立,複製 create table test2 as select * from test1;
函式
分組函式
count():統計
max():最大值
min():最小值
avg():平均值
sum():求和
數學函式
abs():絕對值
floor():向下取整,針對小數 floor(5.5)=5
ceiling()/ceil():向上取整 ceiling(5.5)=6
% :取餘 10%3=1
truncate(,):擷取 truncate(55.55,1)=55.5 truncate(55.55,-1)=50
round(,):四捨五入 round(55.55,1)=55.6
字串函式
concat(,):拼接多列 select concat(name,age)from 表名:將姓名年齡合成一列
left(,):從最左邊開始取幾個 left('12345',2)=12
right(,):從最右邊開始取幾個 right('12345',2)=45
length():位元組個數 length('你好a1')=8 -utf-8-一個漢字佔3位元組
char_length():字元個數 char_length(你好a1)=4
trim():去除空格 trim('你 好')=你好
lower():字母全小寫 lower('ABC')=abc
upper():字母全大寫 upper('abc')=ABC
Substring(‘字串’,n,len):n開始(從1開始),截多長 substring('12345',2,3)=234
Substring(‘字串’,n):n開始,後面都擷取 substring('12345',3)=345
replace(, ,):替換 replace(‘字串’,’字’,’串’)=串符串
日期函式
now():現在時間
month(now())=現在的月份
date_add():新增時間 date_add(now(),interval 5 month)
datediff(,):兩個日期相隔天數 datediff(now(),’1999-01-01[你生日]‘)=你活了多少天
ceiling(datediff(now(),’[你生日]‘)/365)=你活了多少年
系統函式
database():表名
version():資料庫版本
索引(佔空間)
目的:提高查詢效率
建立索引 create index 索引名 on book(欄位)
刪除索引 drop index book_pid_fkey on book
檢視(不佔空間)
目的:1、封裝複雜查詢。2、封裝部分許可權
建立檢視 create view 檢視名 as 查詢語句
刪除檢視 drop view檢視名
檢視分類:
簡單檢視 操作資料會對映原表資料--可刪除也可插入資料
複雜檢視 如果使用函式,就成了複雜檢視-可刪除但不可插入資料
關聯檢視 多個表關聯--不可刪除也不可插入資料