mysql -uroot -proot
數(shù)據(jù)庫:
? ? 查詢所有? ? show databases;
? ? 創(chuàng)建? ? ? ? create database 庫名;
? ? 查詢詳情? ? show create database 庫名;
? ? 指定字符集? create database 庫名 character set utf8;
? ? 刪除? ? ? ? drop database 庫名;
? ? 使用? ? ? ? use 庫名;
? ? 導(dǎo)入數(shù)據(jù)庫? ? ? source 路徑;
數(shù)據(jù)表:
? ? 查詢所有? ? show tables;
? ? 創(chuàng)建? ? ? ? create table t1(name varchar(10),age int);
? ? 查詢詳情? ? show create table t1;
? ? 指定引擎和字符集? ? create table t1(name varchar(10),age int) ????engine=myisam/innodb? ? ? charset=utf8;
? ? ? ? ? ? ----------------innodb:支持?jǐn)?shù)據(jù)庫的復(fù)雜操作,包括外鍵再来、事務(wù)等
? ? ? ? ? ? ----------------myisam:只支持?jǐn)?shù)據(jù)基礎(chǔ)的增刪改查操作
? ? 查看表字段? desc 表名;
? ? 刪除表? ? ? drop table 表名;
? ? 修改表名? ? rename table 原名 to 新名;
? ? 修改表的引擎和字符集? alter table 表名 engine=myisam/innodb charset=utf8;
? ? 添加表字段?
? ? ? ????? --最后面: alter table 表名 add 字段名 字段類型;
? ? ? ? ????--最前面: alter table 表名 add 字段名 字段類型 first;
? ? ? ????? --XX后面: alter table 表名 add 字段名 字段類型 after xxx;
? ? 刪除表字段? alter table 表名 drop 字段名;
? ? 修改表字段的名字和類型? ? alter table 表名 change 原字段名 新字段名 新字段類型;
? ? 修改表字段的類型和位置? ? alter table 表名 modify 字段名 字段類型 位置;
? ? 刪除并新建? truncate table 表名;
數(shù)據(jù)相關(guān):
? ? 保存數(shù)據(jù)? ? insert into 表名 values(字段值,字段值,...);
? ? 指定字段插入? insert into 表名 (字段名) values (字段值);
? ? 查詢數(shù)據(jù)? ? select * from 表名 where 條件;
? ? 修改數(shù)據(jù)? ? update 表名? set 字段名=字段值,字段名=字段值,... where 條件;
? ? 刪除數(shù)據(jù)? ? delete from 表名 where 條件;
? ? 查詢到的字段更名? ? select 原字段名 新字段名 from 表名;
? ? 查詢?nèi)ブ? ? ? ? select distinct 字段名 from 表名;
? ? in 查詢某個字段的值為多個的時候? ? ? select * from where 字段名 in(值1,值2,...);
? ? 查詢某個字段的值不為**的時候? ? ? select * from where 字段名 not in(值1,值2,...);
? ? between查詢在**之間(之內(nèi))? ? select * from where 字段名 between 值1 and 值2;
? ? 查詢不在**之間的(之外)? ? select * from where 字段名 not between 值1 and 值2;
? ? 模糊查詢:? like
? ? ? ????? _:代表單個未知字符
? ? ? ????? %:代表0個或者多個未知字符
? ? 升序? select * from 表名 order by 字段 asc;
? ? 降序? select * from 表名 order by 字段 desc;? ?
? ? 分組? select 字段 from 表名 group by 字段褥蚯;
? ? 分頁查詢? ? ?select * from 表名 limit (頁數(shù)-1)*每頁數(shù)量,每頁數(shù)量? ? ? ? ? ? -----limit 7,7?
? ? 取余? ? ? mod(7,2)? ? ? -----7%2
? ? 獲取當(dāng)前日期+時間? ? ? select now();
? ? 獲取當(dāng)前日期? ? ? select curdate();
? ? 獲取當(dāng)前時間? ? ? select curtime();
? ? 從年月日時分秒中提取日期? ? select date(now());
? ? 從年月日時分秒中提取時間? ? select time(now());
? ? 從年與日時分秒中提取時間分量:
? ? ? ? 年? ? ? select extract(year from now());? ? ? ------select extract(year from 字段) from 表名;
? ? ? ? 月? ? ? select extract(month from now());
? ? ? ? 日? ? ? select extract(day from now());
? ? ? ? 時? ? ? select extract(hour from now());
? ? ? ? 分? ? ? select extract(minute from now());
? ? ? ? 秒? ? ? select extract(second from now());
? ? 日期格式化:
? ? ? ? %Y 四位年 YYYY
? ? ? ? %y 兩位年 yy
? ? ? ? %m 兩位月
? ? ? ? %c 一位月
? ? ? ? %d 日
? ? ? ? %H 24小時
? ? ? ? %h 12小時
? ? ? ? %i 分
? ? ? ? %s 秒
? ? ? ? ? ? ? ? -------select date_format(now(),'%Y年%m月%d日 %H時%i分%s秒');
? ? 非標(biāo)準(zhǔn)格式轉(zhuǎn)換為標(biāo)準(zhǔn)格式
? ? ? ? str_to_date('非標(biāo)準(zhǔn)格式的時間',格式);? ? ? --------select str_to_date('2018年11月16日 15時49分08秒','%Y年%m月%d日 %H時%i分%s秒');
? ? ifnull(x,y)? ? ----update emp set comm = ifnull(comm,0);
主鍵:
? ? 創(chuàng)建表的時候定義主鍵和自增 注釋? ? create table 表名(字段名 字段類型 primary key auto_increment comment '內(nèi)容',....);
? ? 查看自動提交狀態(tài)? ? show variables like '%autocommit%';
? ? 設(shè)置自動提交的狀態(tài)? set autocommit=0/1;
? ? 開啟事務(wù)? ? begin;
? ? 提交事務(wù)? ? commit;
? ? 保存回滾點? savepoint 名;
? ? 回滾到回滾點? rollback to 名;
聚合函數(shù):
? ? 平均值? ? avg(字段名);? ? ? ------select avg(sal) from emp;
? ? 最大值? ? max(字段名);? ? ? ------select max(sal) from emp;
? ? 最小值? ? min(字段名);? ? ? ------select min(sal) from emp;
? ? 求和? ? ? sum(字段名);? ? ? ------select sum(sal) from emp;
? ? 統(tǒng)計數(shù)量? ? count(字段名);? ? ------select count(ename) from emp;
字符串:
? ? 拼接? concat('xx','xx');
? ? 獲取長度? ? select char_length(字段) from emp;
? ? 獲取字符串在另外一個字符串中出現(xiàn)的位置? ? instr(str,substr);
? ? 插入字符串? insert(str,start,length,newstr);
? ? 轉(zhuǎn)大寫? ? upper(str);
? ? 轉(zhuǎn)小寫? ? lower(str);
? ? 去兩端空白? trim(str);
? ? 截取字符串?
? ? ? ? 從左截取? ? left(str,num);?
? ? ? ? 從右截取? ? right(str,num);?
? ? ? ? 自定義截取? substring(str,start,len);
? ? 重復(fù)? ? repeat(str,次數(shù));
? ? 替換? ? replace(str,要替換的,替換后的);
? ? 反轉(zhuǎn)? ? reverse(str);?
數(shù)學(xué)函數(shù):
? ? 向下取整? ? select floor(num);
? ? 四舍五入? ? select round(num,m);? ? ------select round(23.4782,2)? 23.48
? ? 非四舍五入? select truncate(num,m)? -----select truncate(23.879,2)? 23.87
? ? 隨機(jī)數(shù)? ? rand()? 0-1
? ? ? ? ????獲取3翔脱、4磁滚、5 隨機(jī)數(shù)? ? select floor(rand()*3)+3;
關(guān)聯(lián)查詢:
? ? 內(nèi)連接? ? select from 字段 from 表1 join 表2 on 等值條件
? ? 外連接? ? select from 字段 from 表1 left join 表2 on 等值條件
視圖:
? ? 創(chuàng)建視圖? ? create view 視圖名 as 子查詢 with check option;
? ? 創(chuàng)建或替換視圖? ? create or replace view 視圖名 as 子查詢;
? ? 刪除視圖? ? ? ? drop view 視圖名;
外鍵:
? ? 格式: constraint 約束名稱 foreign key(外鍵字段名) references 依賴的表名(依賴的字段名)
索引:
? ? 格式: create index 索引名 on 表名(字段名(字符長度))
? ? 刪除索引? ? drop index 索引名? on 表名育韩;
注意:
? ? 1逼庞、where后面不能寫聚合函數(shù)蛇更,使用having
? ? 2、如果創(chuàng)建視圖的子查詢中使用了別名赛糟,則對視圖操作時只能使用別名
? ? 3派任、not null? 不能為空
? ? 4、unique? 不能重復(fù)
? ? 5璧南、primary key? 主鍵掌逛,不能為空,不能重復(fù)
? ? 6司倚、auto_increment? ? 自增
? ? 7豆混、顯示一行? select depto,group_concat(ename) from emp group by deptno;