linux下修改/etc/my.cnf文件,Windows下在mysql的安裝目錄下找到my.ini文件,在[client]和[mysqld]里面添加default-character-set=utf8即可,在建表的時(shí)候也可以設(shè)置字符集
創(chuàng)新互聯(lián)公司主營連云港網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),連云港h5小程序制作搭建,連云港網(wǎng)站營銷推廣歡迎連云港等地區(qū)企業(yè)咨詢
插入數(shù)據(jù)
insert into 表名(字段) values(‘?dāng)?shù)據(jù)’);
insert into 表名1(name,age) select name,age from 表2; #表2 數(shù)據(jù)信息復(fù)制到表1
修改數(shù)據(jù)
update 表名 set '字段'='數(shù)據(jù)';??? #修改數(shù)據(jù)
delect from 表名 where 字段=值;?? #刪除數(shù)據(jù)
truncate table 表名;?????????? #清空所有數(shù)據(jù) 且無法恢復(fù)
DQL (數(shù)據(jù)查詢語言,用來查詢數(shù)據(jù))
select 要查詢字段 from 表名 [where 滿足條件];
[group by 分組依據(jù)]
[order by 排序依據(jù)]
[limit 限定輸出結(jié)果]
select * from 表名;???????? #查詢 表 所有數(shù)據(jù)
select 字段 字段 from 表名;????? #查詢指定字段數(shù)據(jù)
select st.name,st.age,th.name,th.age from st,th;??????????? #查詢一個(gè)或多個(gè)? 表中的數(shù)據(jù)
SELECT 字段名 FROM 表名 WHERE 條件1 OR 條件2 [...OR 條件n];
例:SELECT * FROM students WHERE age20 OR education!='大專'; #查詢年齡小于20或 者學(xué)歷不等于大專的學(xué)生信息
SELECT 字段名 FROM 表名 WHERE 條件1 AND 條件2 [...AND 條件n];
例:SELECT * FROM students WHERE age22 AND education='大專'; # 查詢年齡大于22 且學(xué)歷為大專的學(xué)生信息
select 字段 from 表名 where age in (12,17,23);????????????? #數(shù)據(jù)在指定 數(shù)據(jù) 里面
select 字段 from 表名 where age between 23 and 28;?????? #數(shù)據(jù)在23-28 之間
select * from 表名 order by 字段名;???????????????????? ?#排序,升序
select 字段 from 表名 order by desc;????????????????? ???? ?#?? 字段降序
select 字段1,字段2…… from 表名 group by? 分組依據(jù)字段;????????? #每個(gè)字段只顯示一條
例:SELECT id,sname,age,phone,place,GROUP_CONCAT(age,place) FROM students GROUP BY age,place; #查詢學(xué)生信息,根據(jù)age,place分組并顯示每一組的記 錄
select? distinct? 字段 from? 表名;????????????????????????? #去除結(jié)果重復(fù)行
例:SELECT DISTINCT age FROM students; # 查詢學(xué)生的年齡段情況
selcet 字段1,字段2,group_concat(分組依賴字段名) from 表名 group by 分組依賴字段名;??? #查詢每個(gè)組中記錄數(shù)量,顯示出來(使用關(guān)鍵字GROUP BY與GROUP_CONCAT()函數(shù)一起使用,可以將每個(gè)組中的記錄數(shù)量都顯 示出來)
例:selcet id,sname,age,phone,GROUP_CONCAT(age) FROM students GROUP BY age; # 查詢學(xué)生id,姓名,年齡,電話,根據(jù)age分組并顯示每一組的記錄
SELECT 字段名 FROM 表名 [其他條件] LIMIT int,int; 參數(shù)1是開始讀取的第一條記錄的 編號,參數(shù)2是要查詢記錄的個(gè)數(shù)
例:SELECT * FROM students ORDER BY age LIMIT 0,5; # 查詢學(xué)生信息,根據(jù)age 排序從第0位開始顯示,只顯示5條
select?字段名?from?表名where字段名?regexp '匹配方式';
(^匹配以特定字符或 字符串開頭的記錄,
$匹配以特定字符或 字符串結(jié)尾的記錄
[^字符集 合]匹配除“字符集合”以 外的任意一個(gè)字符
S1|S2|S3匹配S1 S2 S3中 的任意一個(gè)字符串
字符串{N }匹配字符串出現(xiàn)N次
字符串 {M,N}匹配字符串出現(xiàn)至 少M(fèi)次,最多N次)
聚合函數(shù)查詢
select?count(字段名)?from 表名;?????????? #對于除"*"以外的任何參數(shù),返回所選擇集合中非NULL值的行的數(shù)目;對于參數(shù)“*”,返回選擇集 合中所有行的數(shù)據(jù),包含NULL值的行
例:SELECT COUNT(*) FROM students;
select?sum(字段名) from 表名;????????? #表中某個(gè)字段取值的總和
select avg(字段名) from 表名;???????#表中某個(gè)字段取值的平均值
select max(字段名) from 表名;?????? ?#表中某個(gè)字段取值的最大值
select min(字段名) from 表名;??????? ?#表中某個(gè)字段取值的最小值
連接查詢
a.內(nèi)連接:列出數(shù)據(jù)表中與連接條件相匹配的數(shù)據(jù)行,組合成新記錄【只有滿足條件的記錄才出現(xiàn)在查詢結(jié) 果】 內(nèi)連接的最常見的例子是相等連接,也就是連接后的表中的某個(gè)字段與每個(gè)表中的都相同
select 字段名1,字段名2? from 表名1?inner join 表名2?where 連接條件;
例:select s.name,d.dname?from staff s inner join department d WHERE s.dpid = d.id; # 連接員工表的dpid字段和部門表的id字段,并查詢員工姓名和部門名稱
b.外連接:與內(nèi)連接不同,外連接是指使用OUTER JOIN關(guān)鍵字將兩個(gè)表連接起來。外連接生成的結(jié)果集不僅 包含符合連接條件的行數(shù)據(jù) ,而且還包含左表(左外連接時(shí)的表) 右表(右外連接時(shí)的表)或 兩邊連接表(全外連接時(shí)的表)中所有的數(shù)據(jù)行。
select?字段名稱?from 表名1 LEFT|RIGHT?join 表名2 on 表名1.字段名1 = 表名2.字段名2;
例:select?s.name,d.dname FROM staff s LEFT JOIN department d ON s.dpid = d.id; #連接員工表的dpid字段和部門表的id字段,并查詢員工姓名和部門名稱,如果右表中沒有對應(yīng)的 連接數(shù)據(jù),會自動添加NULL值
例:SELECT s.name,d.dname FROM staff s RIGHT JOIN department d ON s.dpid = d.id; # 連接員工表的dpid字段和部門表的id字段,并查詢員工姓名和部門名稱,如果左表中沒有對應(yīng) 的連接數(shù)據(jù),會自動添加NULL值
例:SELECT 字段名1,字段名2 FROM 表名1,表名2 WHERE 連接條件 AND 限制條件; 例:SELECT s.name,d.dname FROM staff s,department d WHERE s.dpid = d.id AND s.dpid1; # 查詢員工姓名和部門名稱,條件是員工表的dpid字段與部門表中的id字段相等,并且dpid大于1
合并查詢結(jié)果
select 字段名?from ?表名 UNION?select 字段名 ?from 表名;?? #關(guān)鍵字UNION是將所 有的查詢結(jié)果合并到一起,并且去除相同記錄
例:SELECT dpid FROM staff UNION SELECT id FROM department; # 查詢員工表dpid與部門表id,如果有重復(fù)數(shù)據(jù),只顯示一次
select?字段名?drom 表名 UNION ALL?select 字段名from表名;?? #關(guān)鍵字UNION ALL 則只是簡單地將結(jié)果合并到一 起
例:SELECT dpid FROM staff UNION ALL SELECT id FROM department; # 查詢員工表dpid與部門表id,全部顯示
String sql="select* from Goods where GoodsType='"+type+"' order by goodsID limit "+recordsInOnePage*(currentPage-1)+", " +recordsInOnePage
1、首先打開百度,搜索mysql workbench,到官網(wǎng)上去下載最新的版本,因?yàn)樽钚碌陌姹咀钭址募嫒菪允裁吹亩甲龅谋容^好,bug也會少一些。
2、在workbench頁面點(diǎn)擊download,跳轉(zhuǎn)到版本選擇頁,選擇windows平臺。
3、然后會彈出windows平臺的下載鏈接,點(diǎn)擊后面的download按鈕。
4、然后彈到下載頁,直接拉到最底下,點(diǎn)擊no thanks那個(gè)鏈接。開始下載文件。耐心等待下載完畢,下載完成以后開始安裝。
5、雙擊下載好的文件,開始安裝。選擇安裝目錄,
6、選擇全部安裝,選擇確認(rèn)信息,點(diǎn)擊install,開始安裝。
7、安裝完畢后,啟動workbench,這個(gè)時(shí)候默認(rèn)的界面就是全英文的界面。如下圖中所示
8、打開workbench的安裝數(shù)據(jù)目錄,路徑是:C:\Program Files\MySQL\MySQL Workbench 6.3 CE\data,打開以后,可以看到下面有一堆的xml結(jié)尾的文件,而workbench的菜單就是main_menu.xml。
9、用notepad++這個(gè)軟件打開main_menu.xml文件。在里面可以找到很多的菜單標(biāo)識。如下圖所示,可以看到File,對應(yīng)的有一個(gè)key=caption。
10、這個(gè)時(shí)候我們把caption后面對應(yīng)的值從_File修改為_文件,然后重啟workbench再看。
11、可以看到對應(yīng)的菜單欄就變成中文了。
mysql把語言改成中文的步驟如下:
第一步我們需要打開軟件,創(chuàng)建一個(gè)數(shù)據(jù)庫,如下圖所示:
第二步創(chuàng)建數(shù)據(jù)庫之后,需要?jiǎng)?chuàng)建一張漢字和拼音對照表,使用create table語句創(chuàng)表,如下圖所示:
第三步我們打開表,可以看到成功創(chuàng)建一張名為t_base_pinyin的表,并且含有pin_yin_和code_兩個(gè)字段,如下圖所示:
第四步我們使用INSERT INTO t_base_pinyin ()? VALUES ()語句來給漢字拼音對照表添加對照數(shù)據(jù),如下圖所示:
第五步我們打開t_base_pinyin ,可以看到對照數(shù)據(jù)已經(jīng)插入成功,如下圖所示:
第六步我們最后需要?jiǎng)?chuàng)建一個(gè)拼音轉(zhuǎn)換漢字的函數(shù),輸入完成之后進(jìn)行執(zhí)行,語句如下圖所示:
第七步我們輸入select to_pinyin('測試')語句進(jìn)行查詢,可以看到輸出to_pinyin('測試'),ceshi,已經(jīng)成功將中文轉(zhuǎn)換成拼音,如下圖所示: