MySQL圖形化工具使用sql
(以Navicat for Mysql軟件爲例)數據庫
使用Navicat鏈接咱們的數據庫:ide
點擊鏈接函數 主機名或IP地址:就是數據庫安裝電腦的電腦名或IP地址 localhost、127.0.0.1工具 端口:就是MySQL安裝時候的默認端口 3306編碼 用戶名:MySql安裝的默認用戶名 rootspa 密碼:MySQL安裝時你指定的密碼: root3d 鏈接名:只是一個名字而已,做用是讓咱們知道是什麼業務的數據庫blog 完成以上幾個信息的配置,點擊肯定:排序 點擊J18這個數據庫鏈接 展現 所有的數據庫; 幾個數據庫都是能夠點擊的,點擊以後進入對應的數據庫; 暫時咱們只 注意 表、查詢、備份 點擊表以後,把該數據庫下面的全部表所有展現出來: 點擊查詢: 新建查詢 該操做面板就能夠 寫 insert delete update create select 等等語句; 點擊備份: 該頁面主要是對數據庫的備份、恢復操做。 |
數據操做語句
新增
Insert into 表名(列名1, 列名2, 列名3...)values(列名1值,列名2值, 列名3值.) 兩種新增數據的方式 Insert into stu(sid,sname,sage)values(1,’李林’,22); Insert into stu values(1,’李林’,22); |
刪除
Delete from 表名 Delete from stu; |
修改
Update 表名 set 列名1=修改的值,列名2=修改的值; update stu SET sage=23,sname='李琳'; 修改某一行某一列的值: update users set age=18 where name='李琳'; 修改李琳那一行的年齡那一列的值爲18 |
數據查詢語句
SELECT查詢內容
FROM 表名
WHERE條件
GROUP BY
HAVING
ORDER BY
LIMIT
查詢所有數據 Select * from 表名; Select * from stu; 根據條件查詢指定的數據 Select * from 表名 where 列名1=值 and 列名2=值.... Select * from stu where sid=9 and ssex='女'; 查詢數據,返回指定的列 Select 列名1,列名2 from stu; Select sid,sname from stu; 給指定返回列取別名(小名) 兩種方式: Select 列名 別名,列名2 別名2... from 表名; Select 列名 as 別名,列名2 as 別名2... from 表名; Select sid 學號,sname 姓名,ssex 性別 from stu; Select sid as 學號,sname as 姓名,ssex as 性別 from stu; 在條件中使用比較運算符 SELECT * FROM 表名 where 字段 > < >= <= !=或<> select * from j18 where xsnianling !=18 多條件的查詢: AND OR NOT select * from j18 where xsnianling <=21 and xsxingbie='女' select * from j18 where xsnianling <21 or xsxingbie='女' select * from j18 where xsnianling not in(18,21,25) 對空值的查詢:is null 對應列是否null查詢 select * from j18 where xsxueli is not null select * from j18 where xsxueli is null BETWEEN A AND B 在A和B之間,包含AB的值 select * from j18 where xsnianling BETWEEN 18 and 21 IN select * from j18 where xsnianling in(18,21,25) 模糊查詢 LIKE %:指代不明確值的位置或長度 _:指代明確值的位置或已知字符串長度 select * from j18 where xsxingming like '_靈%' 查詢中使用算術表達式:+ - * / select xsxuehao+xsnianling from j18 where xsxingming like '_靈%' 處理重複值:DISTINCT 排除重複展現,只展現一次 select DISTINCT xsxingbie from j18;
查詢返回限定行數:LIMIT Limit 10 取查詢數據的前10位 Limit 10,10 從查詢數據的第10位開始,向後取10位數據展現,不知足10位也不會報錯
經過查詢複製表 create table stu1 select * from stu;
--只複製結構 create table stu2 select * from stu where 1=2;
分組 group by select ssex,COUNT(*) from stu GROUP BY ssex 分組使用的時候,,group by 字段,必定要在 select 後面出現,若是使用了group by select 後面就不要出現 *
排序 order by 字段名 :字段名就是咱們須要排序的字段 order by xsnianling 升序 默認 order by xsnianling desc 降序 |
經常使用函數
獲得須要查詢字符的ASCII碼 SELECT ASCII('中'); SELECT CHAR(97); 根據字符集查詢獲得字符串的長度 SELECT CHAR_LENGTH("中國"); SELECT CHAR_LENGTH(sname) FROM student; --utf8編碼下,一箇中文字佔3個字符長度 SELECT LENGTH("中"); --拼接字符串 SELECT CONCAT('My', 'S', 'QL'); SELECT CONCAT(sname,sage) FROM student; SELECT sname,sage FROM student; --大寫轉小寫 SELECT LOWER("ABC"); --小寫轉大寫 SELECT UPPER("abc"); --查詢學生表中全部學生姓名的最後一個字 SELECT RIGHT(sname,1) FROM student; --查詢學生表中全部學生姓什麼 SELECT LEFT(sname,1) from student; SELECT FLOOR(4.9); ---------------------------- --查詢獲得本地時間 SELECT NOW(); CREATE TABLE teset( tid int PRIMARY KEY auto_increment, ttime datetime ); SELECT * FROM teset; INSERT INTO teset(ttime) values (NOW()); SELECT CURDATE(),CURTIME(); SELECT CURTIME(); 聚合函數: COUNT 統計數量:select count(xsnianling) from j18 SUM 求和:select sum(xsnianling) from j18 MAX 求最大值:select max(xsnianling) from j18 MIN 求最小值:select min(xsnianling) from j18 AVG 平均數:select avg(xsnianling) from j18 |
補充
Truncate table 表名 直接刪除表中所有數據,與delete不一樣的是,此方法沒法使用where選擇,只能所有刪除。 truncate table users; |