1.連接數據庫
//連接MySQL數據庫
mysql -u 用戶名 -p 密碼
//退出MySQL
exit;
2.數據庫操作
//create 創建數據庫
create database 數據庫名;
//show 查看所有數據庫
show database;
//alter 修改數據庫的選項信息
alter database 數據庫名 [新的數據庫選項];
//drop 刪除數據庫
drop database 數據庫名;
//use 進入數據庫
use 數據庫名;
3.表的操作
//create 創建數據表,表選項信息是選填數據庫引擎等信息的
create table 表名(
字段1 字段1類型 [字段選項],
字段n 字段n類型 [字段選項]
)[表選項信息];
//show 查詢當前數據庫下的所有數據表
show tables;
show tables like '模糊查詢表名%';
//查看錶的結構
desc 表名;
//drop 刪除數據表
drop table [if exists] 表名;
//alter 修改表名
alter table 舊錶名 rename to 新表名;
//修改表的字段成員
alter table 表名 add 新列名 字段類型 [字段選項]; #增
alter table 表名 drop 字段名; #刪
alter table 表名 modify 字段名 新的字段類型 [新的字段選項]; #改
4.數據操作
//基礎增刪查改
insert into 表名(字段1,字段n) values(值1,,值n),(值1,,值n);#增
select [字段1,字段n] from 表名[查詢條件];#查
delete from 表名[刪除條件];#刪
update 表名 set 字段1=新值1,字段n=新值n [修改條件];#改
添加條件
常用比較運算符: > 、 <、 >=、 <=、 <>、 !=
常用邏輯運算符:or、and
常見關鍵字
關鍵字 | 作用 |
---|---|
where | 後接查詢約束條件 |
top | 控制返回查詢的前幾個 |
order by | 對查詢結果進行排序 |
group by | 分組查詢 |
limit | 控制返回查詢結果集的數量 |
like | 按指定查詢模式 |
in | 查詢規定多個的值 |
between…and… | 規定查詢的範圍 |
inner join…on | |
left join…on | |
right join…on | |
full join…on | |
union | 合併多個查詢的結果 |
insert into…select | 將一個表的數據複製到另一個表 |
以下是這些關鍵字的實例運用:
//查詢年齡爲18的用戶的名字
select name from User where age=18;
//查詢年齡不等於18並且性別爲男的用戶的名字和身高
select name,height from User where age <>18 AND sex="男";
//查詢年齡大於18的用戶的信息,並按年齡降序序排序( desc降序,asc升序[默認])
select * from User where age>18 order by age desc;
//查詢表前10個用戶的信息
select top 10 * from User;
select * from User limit 10;
//查詢以名字帶G的用戶的信息( like中 %表示通配符, _表示一個字符)
select * from User where name like "%G%";
//查詢名字爲ABC和DEF的用戶的信息
select * from User where name in('ABC',"DEF");
//查詢在2018年5月13日到2018年6月21日之間登錄過的用戶的信息
select * from User where logintime between '2018-5-13' and '2018-6-21';
//從用戶表(User)和登錄表(Login)查出登錄過的用戶的名字和登錄時間
select User.name,login.logintime from User inner join Login on User.uid=Login.uid;
//查詢所有用戶的名字以及他們的登錄時間
select User.name,login.logintime from User left join Login on User.uid=Login.uid;
//查詢兩個用戶表的所有用戶名字
select name from UserOne union select name from UserTwo;
//將用戶表1的數據寫入數據表2
insert into UserTwo select * from UserOne;
MySQL常用函數
函數名 | 作用 |
---|---|
abs(x) | 返回x的絕對值 |
pi() | 返回圓周率 |
sqrt(x) | 返回x的平方根 |
mod(x,y) | 返回x%y的結果 |
avg(s) | 返回字段s的平均值 |
CEIL(x),CEILING(x) | 返回大於等於x的最小整數 |
FLOOR(x) | 返回小於等於x的最大整數 |
exp(x) | 返回e的x次方 |
max(s) | 返回字段s中的最大值 |
min(s) | 返回字段s中的最小值 |
pow(x,y) | 返回x的y次方 |
RAND() | 返回0~1的隨機數 |
rand(x) | 返回離x最近的整數 |
sum(s) | 返回字段s的總和 |
CURDATE(),CURRENT_DATE() | 返回當前日期(年-月-日) |
CURRENT_TIME(),CURTIME() | 返回當前時間(時:分:秒) |
CURRENT_TIMESTAMP() | 返回當前日期和時間(年-月-日 時:分:秒) |
date(t) | 從一個字符串t中提取時間(年-月-日) |
DATE_FORMAT(t,’%Y-%m-%d %r’) | 讓時間字符串t按一定格式顯示 |