日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL所有常用语法大全

發布時間:2023/12/20 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL所有常用语法大全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL所有常用語法大全

一 、常用操作數據庫的命令
1.show databases; 查看所有的數據庫
2.create database test; 創建一個叫test的數據庫
3.drop database test;刪除一個叫test的數據庫
4.use test;選中庫 ,在建表之前必須要選擇數據庫
5.show tables; 在選中的數據庫之中查看所有的表
6.create table 表名 (字段1 類型, 字段2 類型);
7.desc 表名;查看所在的表的字段
8.drop table 表名; 刪除表
9.show create database 庫名;查看創建庫的詳細信息
10.show create table 表名; 查看創建表的詳細信息
11.insert into表名[(字段1,字段2,…)]valuse(‘值1’,‘值2’,…)往表里添加插入數據

二、修改表的命令
1.修改字段類型 alter table 表名 modify 字段 字段類型;
2.添加新的字段 alter table 表名 add 字段 字段類型
3.添加字段并指定位置 alter table 表名 add 字段 字段類型 after 字段;
4.刪除表字段 alter table 表名 drop 字段名;
5.修改指定的字段 alter table 表名 change 原字段名字 新的字段名字 字段類型

三、對數據的操作
1.創建表 create table 表名(列名1 列類型(長度是數字)屬性,列名2 列類型()屬性…
2.增加數據(insert)3種方式
1.1 insert into 表名 values(值1,值2,…)(很少用)
1.2 insert into 表名(字段1,字段2…) values(值1,值2,…);(較常用)
1.3 insert into 表名(字段1,字段2…) values(值1,值2,…),(值1,值2,…),(值1,值2,…);
3.刪除數據(delete) delete from 表名 where 條件 注意:where 條件必須加,否則數據會被全部刪除
4.更新數據(update) update 表名 set字段1 = 值1, 字段2 = 值2 where 條件
5.查詢數據(select)
5.1 查詢表中的所有數據 select * from 表名
5.2 指定數據查詢 select 字段 from 表名
根據條件查詢出來的數據 select 字段 from 表名 where 條件 (最常用的)
where 條件后面跟的條件
關系:>,<,>=,<=,!=
邏輯:or或, and并且
區間:id between 4 and 6 ;閉區間,包含邊界
6.排序
select 字段 from 表 order by 字段 排序關鍵詞(desc | asc)
排序關鍵詞 desc 降序 asc 升序(默認)
6.1 通過字段來排序
例如 :select * from star orser by money desc, age asc;
6.2 多字段排序
select 字段 from 表 order by 字段1 desc |asc,…字段n desc| asc;
7.常用的統計函數 sum,avg,count,max,min
只分組:select * from 表 group by 字段
例子: select count(sex) as re,sex from star group by sex having re > 3;
分組統計: select count(sex) from star group by sex;
8.lpat左填充 實現左填充指定長度
rpat右填 實現有填充指定長度
replace替換
lenght獲取參數值的字節個數
concat拼接字符串
upper變大寫 lower變小寫
substr截取從指定索引處后面所有字符
sebstring 截取從指定索引處指定字符長度的字符
round四舍五入
ceil向上取整 返回>=該參數的最小整數 floor向下取整,返回<=該參數的最大整數
truncate 截斷 mod取余
9.分組 select * from 表名 limit 偏移量,數量
說明:
9.1.不寫偏移量的話就是默認的為0
9.2.實現分頁的時候必須寫偏移量
偏移量怎么計算?:
limit (n-1)*數量 ,數量

四、多表聯合查詢
1.內連接
隱式內連接 select username,name from user,goods where user,gid=gods,gid;
顯示內連接
select username,from user inner join goods on user.gid=goods.gid;
select * from user left join goods on user.gid=goods.gid;
2.外鏈接
左連接 包含所有的左邊表中的記錄以及右邊表中沒有和他匹配的記錄
右連接
select * from user where gid in(select gid from goods);
select * from user right jOin goods on user.gid=goods.gid;
子嵌套查詢
數據聯合查詢
select * from user left join goods on user.gid=goods.gid union select * from user right join goods on user.gid=goods.gid;
兩個表同時更新
update user u, goods g set u.gid=12,g.price=1 where u.id=2 and u.gid=g.gid;

五、DCL 數據控制語言
1.創建用戶:create user’xiaoming’@‘localhost’ identified by ‘666666’;
2.授權用戶:grant all on test.to’xiaoming’@‘localhost’;
3.刷新權限:flush privileges;
4.取消授權:revoke all on test. from ‘xiaoming’@‘localhost’;
5.刪除用戶: drop user’xiaoming’@‘localhost’;

六、DTL 數據事務語言
1.開啟事務:set autocommit=0;
2.操作回滾:rollback;
3.提交事務:commit;

七、最常用關系語法
SELECT
case -------------如果
when sex=‘1’ then ‘男’ -------------sex=‘1’,則返回值’男’
when sex=‘2’ then ‘女’ -------------sex=‘2’,則返回值’女’
else ‘其他’ -------------其他的返回’其他’
end -------------結束
from user --------整體理解: 在user表中如果sex=‘1’,則返回值’男’如果sex=‘2’,則返回值’女’ 否則返回’其他’

SELECT EMPLOYEE_ID, FIRST_NAME, SALARY,
CASE
WHEN SALARY>=10000 THEN ‘A’
WHEN SALARY>=8000 AND SALARY<10000 THEN ‘B’
WHEN SALARY>=6000 AND SALARY<8000 THEN ‘C’
WHEN SALARY>=2000 AND SALARY<6000 THEN ‘D’
ELSE ‘E’
END AS ‘薪資級別’
FROM t_employees ORDER BY 薪資級別; # 順便排個序

八、時間查詢
SELECT 時間函數([參數列表]);
獲取各種日期和時間

#. 1.當前系統時間 2020-03-26 10:55:56 SELECT NOW(); SELECT SYSDATE();# 2.獲得當前日期 2020-03-26 SELECT CURDATE();# 3.獲得當前時間 10:55:56 SELECT CURTIME();# 4.獲得指定日期在一年中為第幾周 13 SELECT WEEK(CURDATE())+1;# 5.獲取指定日期中的年 2020 SELECT YEAR(CURDATE());# 6.獲取指定日期中的月 3 SELECT MONTH(CURDATE());# 7.獲取指定日期中的日 26 SELECT DAY(CURDATE());# 8.獲取指定日期中的時 10 SELECT HOUR(SYSDATE());# 9.獲取指定日期中的分 55 SELECT MINUTE(SYSDATE());# 10.獲取指定日期中的秒 56 SELECT SECOND(SYSDATE());# 11.獲取date1和date2之間相隔的天數 366 SELECT DATEDIFF(SYSDATE(), '2019-03-26');# 12.獲取指定天數后的日期 2020-04-01 10:55:56 SELECT ADDDATE(SYSDATE(), 6);# 13.當月最后一天 SELECT LAST_DAY(SYSDATE()) AS '本月最后1天日期'; # 2020-03-31# 14.格式化日期格式 SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p'), # Mar 26 2020 10:02 PM DATE_FORMAT(NOW(),'%m-%d-%Y'), # 03-26-2020DATE_FORMAT(NOW(),'%d %b %y'), # 26 Mar 20 DATE_FORMAT(NOW(),'%d %b%Y %T:%f'); # 26 Mar 2020 22:02:23:000000

總結

以上是生活随笔為你收集整理的MySQL所有常用语法大全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。