MySQL大小寫通用。mysql
1、常見用的mysql指令sql
一、show databases; #查看當前全部庫函數
二、show tables; #查看所在庫中的全部表排序
三、use 庫名; #進入該庫索引
四、show tables from 庫名; #查看其餘庫中的全部表字符串
五、create table 表名; #建立表數學
六、create database 庫名; #建立庫it
七、desc 表名; #查看錶的結構io
八、select version(); #在庫中查看mysql的版本信息table
九、mysql --version 或 mysql --V #不在庫中查看mysql的版本信息
2、基礎查詢
一、select 字段名 from 表名; #查詢單個字段
二、select 字段名,字段名 from 表名; #查詢多個字段
三、select * from 表名; #查詢全部字段
四、select 常量值; #查詢常量
五、select 函數名(實參列表); #查詢列表
六、select 100/1234; #查詢表達式
七、起別名:一、as 二、空格
八、select distinct 字段名 from 表名;
九、select concat(字段名,字段名) from 表名; #拼接,單輸出不能是字符串
十、select (is not null)* from employees where is not null; #查詢不爲空的字段
十一、SELECT * FROM employees WHERE last_name LIKE '%\_n%'; #模糊查詢
篩選條件:
&& and 與
|| or 或
! not 非
3、排序查詢
select * from employees where job_id < 20 order by salary asc(desc); #升序降序
4、常見函數
一、SELECT CONCAT(last_name,'_',first_name) aaa FROM employees; #拼接concat
二、SELECT LENGTH('aab'); #length轉換成數值
三、SELECT UPPER('sdadas'); #upper轉換成大寫,lower轉換成小寫
SELECT LOWER('ADSADASD');
四、SELECT SUBSTR('31321',3,2); #substr從左往右截取
五、SELECT TRIM('aa'FROM'aaqqaass'); #trim去重,只能是左右兩邊
六、SELECT INSTR('aabbcc','c'); #instr返回一個索引值,只爲最早出現的那個值
七、SELECT LPAD('abc',6,'dd'); #lpad指定字符,從左填充相應的值(字符總長等於6)
八、SELECT RPAD('abc',6,'dd'); #rpad指定字符,從右填充相應的值(字符總長等於6)
九、SELECT REPLACE('abcdaeaf','a','d'); #replace替換,將a替換成d
5、數學函數
一、SELECT ROUND(-1.66); #round取整
SELECT ROUND(-1.66,1); #取小數後兩位
二、SELECT CEIL(1.22); #想上取整
三、SELECT FLOOR(1.33); #向下取整
四、SELECT TRUNCATE(1.6666,1); #truncate截斷
五、SELECT MOD(10,3); #mod取餘
6、日期函數
一、SELECT NOW(); #返回當前日期+時間
二、SELECT CURDATE(); #返回系統日期
三、SELECT CURTIME(); #返回當前系統時間
四、SELECT YEAR(NOW()); #用於指定部分,年、月、日、時、分、秒
五、SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d'); #將指定的格式轉換成日期
六、SELECT DATE_FORMAT(NOW(),'%Y-%c-%d'); #將指定字符轉換成字符格式
7、其餘函數
一、SELECT VERSION(); #查看版本
二、SELECT DATABASE(); #查看當前所在表
三、SELECT USER(); #查看當前是用什麼用戶登陸mysql的
8、流程控制函數
一、SELECT IF(10<5,'da','xiao'); #比對大小,加以判斷
二、SELECT CASE WHEN salary>3000 THEN '真' ELSE '假' END FROM employees; #與Java的switch同樣
10、分組函數
一、SELECT SUM(salary) FROM employees; #sum求和
二、SELECT AVG(salary) FROM employees; #avg求平均
三、SELECT MAX(salary) FROM employees; #max最大值
四、SELECT MIN(salary) FROM employees; #min最小值
五、SELECT COUNT(salary) FROM employees; #count計算個數
11、分組查詢
一、SELECT MAX(salary),job_id FROM employees GROUP BY last_name; #進行分組查詢
二、SELECT MAX(salary),job_id,salary FROM employees GROUP BY last_name,salary ORDER BY job_id DESC; #也可進行排序
12、鏈接查詢
SQL99
一、SELECT last_name,department_name FROM departments d INNER JOIN employees e ON e.department_id = d.`department_id`; #等值鏈接(注:必須起別名)
二、非等值鏈接需複習
三、SELECT e.last_name,m.last_name FROM employees e JOIN employees m ON e.`manager_id`=m.`employee_id`; #自鏈接
#懶得寫了,其餘本身補總共有sql92和sql99本身百度
十3、分頁查詢
#分頁查詢語句放在最後面!
一、SELECT * FROM employees LIMIT 0,5; #表示顯示五行
二、SELECT * FROM employees LIMIT 5,5; #表示顯示第五行之後的五行
三、SELECT * FROM employees ORDER BY last_name DESC LIMIT 0,5; #倒序查詢第0到第五個參數
十4、DML語言(表中的內容管理)
插入語句:
方式1、爲確保數據的連貫性精準性(推薦),sql199
一、INSERT INTO beauty(id,NAME,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`) VALUES(13,'愣頭青','男','1996-3-24',13180082088,NULL,2);
#插入語句(insert into 表名(列名,...) values(值1,...)),注意必需要跟表的約束信息一致,如不一致將建立失敗
方式2、爲先存儲後完善(試用與臨時保持),添加起來繁亂,sql192
一、INSERT INTO `beauty` SET id=14,NAME='愣頭青',phone='999'; #無添加的部分爲默認,系統會默認設置!
#插入語法(insert into 表名 set 列名=值1,列名=值2,...),這方法比較簡單吧
修改語句:
方式1、修改單個表時用到的方式,簡單、易錯(按需求來玩),sql192
一、UPDATE `beauty` SET NAME='11223344' WHERE id LIKE'13'; #注:如不添加判斷則修改全部表
#左外右外全外鏈接須要複習
刪除語句:(delete、truncate)
方式1、語法:delete from 表名 where 篩選條件
一、DELETE FROM `beauty` WHERE phone=123456789101;
方式2、語法truncate 關鍵字(一刪全刪);
一、TRUNCATE jjj; #刪除的是表中的全部數據,而不是表(不能使用where判斷注意)
十5、DDL語言(庫、表的管理)
建立庫
方法1、語法:create database (IF NOT EXISTS) 庫名
一、CREATE DATABASE oldboy;
二、CREATE DATABASE IF NOT EXISTS oldboy; #檢查是否已存在(IF NOT EXISTS)
庫的修改(只能修改庫名)
方法1、語法:暫時不會....(rename)
刪除庫
方法1、語法drop database 庫名
一、drop database oldboy; #庫通常不刪除,如要刪除請先保存在tmp目錄下!作個腳本兩年後刪除,以防不測
表的建立
方法1、語法create table 表名(
列名 列的類型[(長度)約束條件],
列名 列的類型[(長度)約束條件,
...)
表的修改
#修改列名及約束條件
一、ALTER TABLE employees CHANGE COLUMN last_name last_names VARCHAR(20);
#修改列的類型或約束
一、ALTER TABLE employees MODIFY COLUMN last_names VARCHAR(16);
#添加新列
一、ALTER TABLE employees ADD COLUMN od INT;
#刪除列
一、ALTER TABLE employees DROP COLUMN od;
#修改表名
一、ALTER TABLE employees RENAME TO employeesdd;
表的複製
#複製表的結構
一、CREATE TABLE abc LIKE employees; #僅複製表的結構
二、CREATE TABLE qqq SELECT * FROM employees; #複製表的結構加數據
三、create table sss select last_name select employees where 篩選條件; #複製部分數據