1. 程式人生 > >MySQL語句的強勢總結(未完)

MySQL語句的強勢總結(未完)

關於MySQL的語句:
-資料庫相關的語句
1.查詢所有資料庫 -show databases;
2.查詢資料庫詳情 -show create create database db1;
3.建立資料庫 -create database db1
4.建立資料庫指定字符集 -create database db2 character set gbk/utf8;
5.刪除資料庫. -drop database db2
6.使用資料庫 -use db1

-和表相關的語句
1.查詢所有表 -show tables;
2.建立表 -create table 表名(欄位1 欄位1型別,欄位2 欄位2型別,…)
3.建立表時指定表的引擎和字符集 -create table. t1(name varchar(10)) engine=myisam charset=gbk;(可以只指定引擎或字符集)
4.查看錶詳情 -show create table 表名
5.查詢所有表 -show tables;
6.刪除表 -drop table 表名
7.修改表名. -rename table 原名 to 新名
8.修改表的引擎和字符集 -alter table 表名 engine=myisam/innodb charset=utf8/gbk

與表字段相關的語句:
1.查看錶欄位 -desc 表名
2.新增表字段
-alter table 表名 add 欄位名 欄位型別(最後面)
-alter table 表名 add 欄位名 欄位型別 first(最前面)
-alter table 表名 add 欄位名 欄位型別 after 欄位名;(xxx的後面)
3.刪除表字段. -alter table 表名 drop 欄位名
4.修改表字段的名字和型別
-alter table 表名 change 原欄位名 新欄位名 新欄位型別
5.修改表字段的型別和位置
-alter table 表名 modify 欄位名 欄位型別 位置(first/ after xxx)

-與資料相關的語句:
-插入資料
1.全表插入資料:
-insert into emp values(1,‘Tom’,15,3000)
2.指定欄位插入
-insert into emp (namg, age) values (‘jerry’, 12)
3.批量插入資料:
-insert into emp values(1,‘tom’,28,6000),(2,‘Ann’,25,2000)…

-查詢資料
1.查詢全部資料的全部欄位資訊
-select * from emp;
2.查詢所有員工的姓名和年齡
-select name,age from emp;
3.查詢年齡在25歲以下的員工資訊
-select * from emp where age<25;
4.查詢工資3000塊的員工姓名,年齡
-select name, age from emp where sal=3000;

-修改資料
1.修改Tom的工資為3333
-update emp set sal=3333 where name=‘Tom’;
2.修改30歲以下的工資為666
-update emp set sal=666 where age<30;
3.修改id等於3的名字為呂布年齡為55,工資為2000
-update emp set name=‘呂布’,age=55,sal=2000 where id=3;
4.修改工資為null的工資為800
-update emp set sal=800 where sal is null;

-刪除資料
1.刪除id=1的員工
-delete from emp where id=1;
2.刪除年齡在25歲以下的員工
-delete from emp where age<25;
3.刪除全部資料
-delete from emp;

1.去重 distinct
-select distinct job from emp;
2.比較運算子
->,<,<=,>=,!=和<>(不等於)
3.and 和 or
4.in
5.between x and y (包含x和y)
6.模糊查詢 like
a. _:代表單個未知字元
b.%:代表0或多個未知字元
7.order by排序(desc 降序, asc 升序)
8.limit 分頁查詢(跳過的條數, 請求的數量)
9.concat()函式
-select name,concat(sal, ‘元’) 工資 from emp;

日期相關函式:
1.獲取當前的年月日時分秒: select now()
2.獲取當前的日期: select curdate();
3.獲取當前的時間: select curtime();
4.從年月日時分秒中提取年月日: select date(now());
5.從年月日時分秒中提取時分秒: select time(now());
6.從年月日時分秒中提取時間分量
a. 年 -select extract(year from now())
b. 月 -select extract(month from now())
c. 日 -select extract(day from now())
d. 時 -select extract(hour from now())
e. 分 -select extract(minute from now())
f. 秒 -select extract(second from now())
7.日期格式化 date_format(時間, 格式)(把時間格式轉換為字串)
a. %Y: 四位年
b. %y: 兩位年
c. %m: 兩位月
d. %c: 一位月
e. %d: 日
f. %H: 24小時
g. %h: 12小時
h. %I: 分
i. %s: 秒
8.把非標準日期字串轉化為標準的時間格式:
-select str_to_date(‘14.08.2018 08:00:00’, ‘%d.%m.%Y %H.%i.%s’)

ifnull(x, y)函式
age=ifnull(x, 18)如果x的值為null,則age=18
如果不為null,則age=x

數學相關函式:
1.向下取整
-select floor(3.84); //3
2.四捨五入
-select round(3.84); //4
-select round(num, m); //m代表小數位數
3.非四捨五入
-select truncate(3.84567, 3);
4.隨機數
-select floor(rand()*6) + 5;