mysql 輸出參數 sql語句_MySQL: 詳細的sql語句

1添

1.1【插入單行】

insert [into] (列名) values (列值)

例:insert into Strdents (姓名,性別,出生日期) values ('開心朋朋','男','1980/6/15')

1.2【將現有表數據添加到一個已有表】

insert into (列名) select from

例:insert into tongxunlu ('姓名','地址','電子郵件')

select name,address,email

from Strdents

1.3【直接拿現有表數據創建一個新表并填充】

select into from

例:select name,address,email into tongxunlu from strdents

1.4【使用union關鍵字合并數據進行插入多行】

insert select tnion select

例:insert Students (姓名,性別,出生日期)

select '開心朋朋','男','1980/6/15'?union(union表示下一行)

select '藍色小明','男','19**/**/**'

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2刪

2.1【刪除行】

delete from [where ]

例:delete from a where name='開心朋朋'(刪除表a中列值為開心朋朋的行)

2.2【刪除整個表】

truncate table

truncate table tongxunlu

注意:刪除表的所有行,但表的結構、列、約束、索引等不會被刪除;不能用語有外建約束引用的表

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3改

update set [where ]

例:update tongxunlu set 年齡=18 where 姓名='藍色小名'

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

4.查

4.1`精確(條件)查詢

select from [where ] [order by [asc或desc]]

4.1.1【查詢所有數據行和列】

例:select * from a

說明:查詢a表中所有行和列

4.1.2【查詢部分行列--條件查詢】

例:select i,j,k from a where f=5

說明:查詢表a中f=5的所有行,并顯示i,j,k3列

4.1.3【在查詢中使用AS更改列名】

例:select name as 姓名 from a where xingbie='男'

說明:查詢a表中性別為男的所有行,顯示name列,并將name列改名為(姓名)顯示

4.1.4【查詢空行】

例:select name from a where email is null

說明:查詢表a中email為空的所有行,并顯示name列;SQL語句中用is null或者is not null來判斷是否為空行

4.1.5【在查詢中使用常量】

例:select name, '唐山' as 地址 from Student

說明:查詢表a,顯示name列,并添加地址列,其列值都為'唐山'

4.1.6【查詢返回限制行數(關鍵字:top percent)】

例1:select top 6 name from a

說明:查詢表a,顯示列name的前6行,top為關鍵字

例 2:select top 60 percent name from a

說明:查詢表a,顯示列name的60%,percent為關鍵字

4.1.7【查詢排序(關鍵字:order by , asc , desc)】

例:select name

from a?where chengji >= 60?order by desc

說明:查詢a表中chengji大于等于60的所有行,并按降序顯示name列;默認為ASC升序

4.2 ''模糊查詢

4.2.1【使用like進行模糊查詢】

注意:like運算副只用于字符串,所以僅與char和varchar數據類型聯合使用

例:select * from a where name like '趙%'

說明:查詢顯示表a中,name字段第一個字為趙的記錄

4.2.2【使用between在某個范圍內進行查詢】

例:select * from a where nianling between 18 and 20

說明:查詢顯示表a中nianling在18到20之間的記錄

4.2.3【使用in在列舉值內進行查詢】

例:select name from a where address in ('北京','上海','唐山')

說明:查詢表a中address值為北京或者上海或者唐山的記錄,顯示name字段

4.3.分組查詢

4.3.1【使用group by進行分組from score (注釋:這里的score是表名)

group by studentID

說明:在表score中查詢,按strdentID字段分組,顯示strdentID字段和score字段的平均值;select語句中只允許被分組的列和為每個分組返回的一個值的表達式,例如用一個列名作為參數的聚合

4.3.2【使用having子句進行分組篩選】

例:select studentID as 學員編號,AVG(score) as 平均成績?(注釋:這里的score是列名)

from score (注釋:這里的score是表名)

group?by studentID

having count(score)>1

說明:接上面例子,顯示分組后count(score)>1的行,由于where只能在沒有分組時使用,分組后只能使用having來限制條件。

4.4.多表聯接查詢

4.4.1內聯接

4.4.1.1【在where子句中指定聯接條件】

例:select a.name,b.chengji

from a,b?where a.name=b.name

說明:查詢表a和表b中name字段相等的記錄,并顯示表a中的name字段和表b中的chengji字段

4.4.1.2【在from子句中使用join…on】

例:select a.name,b.chengji

from a inner join b?on (a.name=b.name)

說明:同上

4.4.2外聯接

4.4.2.1【左外聯接查詢】

例:select s.name,c.courseID,c.score

from strdents as s

left outer join score as c

on s.scode=c.strdentID

說明:在strdents表和score表中查詢滿足on條件的行,條件為score表的strdentID與strdents表中的sconde相同

4.4.2.2【右外聯接查詢】

例:select s.name,c.courseID,c.score

from strdents as s

right outer join score as c

on s.scode=c.strdentID

說明:在strdents表和score表中查詢滿足on條件的行,條件為strdents表中的sconde與score表的strdentID相同

5、常用的SQL語句總結如下:

SQL語法

1、查詢數據

基本查詢:SELECT * FROM

SELECT * FROM students; #查詢students表的所有數據

SELECT * FROM classes; #查詢classes表的所有數據

SELECT 100+200; #計算100+200

條件查詢:SELECT * FROM WHERE

SELECT * FROM students WHERE score >= 80; #按條件查詢students

SELECT * FROM students WHERE score >= 80 AND gender = 'M'; #按AND條件查詢students:

SELECT * FROM students WHERE score >= 80 OR gender = 'M'; #按OR條件查詢students:

SELECT * FROM students WHERE NOT class_id = 2; #按NOT條件查詢students:

SELECT * FROM students WHERE (score < 80 OR score > 90) AND gender = 'M'; #按多個條件查詢students:

投影查詢:SELECT 列1, 列2, 列3 FROM

SELECT id, score, name FROM students; #使用投影查詢

SELECT id, score points, name FROM students; #使用投影查詢,并將列名重命名:

SELECT id, score points, name FROM students WHERE gender = 'M'; #使用投影查詢+WHERE條件:

排序:SELECT * FROM ORDER BY

SELECT id, name, gender, score FROM students ORDER BY score; #按score從低到高

SELECT id, name, gender, score FROM students ORDER BY score DESC; #按score從高到低

SELECT id, name, gender, score FROM students ORDER BY score DESC, gender; #按score, gender排序:

SELECT id, name, gender, score FROM students WHERE class_id = 1 ORDER BY score DESC; #帶WHERE條件的ORDER BY:

分頁查詢:SELECT * FROM LIMIT OFFSET LIMIT總是設定為pageSize、OFFSET計算公式為pageSize * (pageIndex - 1)。

SELECT id, name, gender, score FROM students ORDER BY score DESC LIMIT 3 OFFSET 0; # 查詢第1頁,每頁3條記錄

SELECT id, name, gender, score FROM students ORDER BY score DESC LIMIT 3 OFFSET 3; #查詢第2頁,每頁3條記錄

SELECT id, name, gender, score FROM students ORDER BY score DESC LIMIT 3 OFFSET 6; #查詢第3頁,每頁3條記錄

SELECT id, name, gender, score FROM students ORDER BY score DESC LIMIT 3 OFFSET 20; #OFFSET設定為20

聚合查詢:SELECT FUCTIONNAME(*) FROM FUCTIONNAME: COUNT、SUM、AVG、MAX、MIN等

SELECT COUNT(*) FROM students; #使用聚合查詢,COUNT(*)表示查詢所有列的行數

SELECT COUNT(*) num FROM students; #使用聚合查詢并設置結果集的列名為num:

SELECT COUNT(*) boys FROM students WHERE gender = 'M'; #使用聚合查詢并設置WHERE條件:

SELECT AVG(score) average FROM students WHERE gender = 'M'; #使用聚合查詢計算男生平均成績:

SELECT COUNT(*) num FROM students GROUP BY class_id; #按class_id分組:

SELECT class_id, COUNT(*) num FROM students GROUP BY class_id; #按class_id分組:

多表查詢:SELECT * FROM ,

SELECT * FROM students, classes; #FROM students, classes: #FROM students, classes:

SELECT students.id sid,students.name, students.gender,classes.id cid,classes.name cname FROM students, classes; # set alias:

SELECT s.id sid,s.name,s.gender,c.id cid,c.name cname FROM students s, classes c; #set table alias:

SELECT s.id sid,s.name,s.gender,c.id cid,c.name cname FROM students s, classes c WHERE s.gender = 'M' AND c.id = 1; #set where clause:

連接查詢:SELECT ... FROM INNER JOIN ON ;

SELECT s.id, s.name, s.class_id, s.gender, s.score FROM students s; #選出所有學生

SELECT s.id, s.name, s.class_id, c.name class_name, s.score FROM students s INNER JOIN classes c ON s.class_id = c.id; #選出所有學生,同時返回班級名稱

2、修改數據

INSERT插入:INSERT INTO (字段1, 字段2, ...) VALUES (值1, 值2, ...);

INSERT INTO students (class_id, name, gender, score) VALUES (2, '大牛', 'M', 80); #添加一條新記錄

INSERT INTO students (class_id, name, gender, score) VALUES (1, '大寶', 'M', 87), (2, '二寶', 'M', 81); #一次性添加多條新記錄

插入或替換:如果記錄已經存在,就先刪除原記錄,再插入新記錄

REPLACE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99);

插入或更新:如果記錄已經存在,就更新該記錄,

INSERT INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99) ON DUPLICATE KEY UPDATE name='小明', gender='F', score=99;

插入或忽略:若id=1的記錄不存在,INSERT語句將插入新記錄,否則,當前id=1的記錄將被更新

INSERT IGNORE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99);

UPDATE更新:UPDATE SET 字段1=值1, 字段2=值2, ... WHERE ...;

UPDATE students SET name='大牛', score=66 WHERE id=1; #更新id=1的記錄

UPDATE students SET name='小牛', score=77 WHERE id>=5 AND id<=7; #更新id=5,6,7的記錄

UPDATE students SET score=score+10 WHERE score<80; #更新score<80的記錄

UPDATE students SET score=100 WHERE id=999; #更新id=999的記錄

DELETE刪除:DELETE FROM WHERE ...;

DELETE FROM students WHERE id=1; #刪除id=1的記錄

DELETE FROM students WHERE id>=5 AND id<=7; #刪除id=5,6,7的記錄

DELETE FROM students WHERE id=999; #刪除id=999的記錄

總結:

創建

CREATE TABLE IF NOT EXSITE( 字段1 數據類型, 字段2 數據類型, 字段3 數據類型, ....)

CREAT TABLE if not exists 〈表名〉(id integerPrimary Key Autoincrement, sId integer, sName text, sAge integer)

查詢

SELECT * FROM WHERE

插入

INSERT INTO (字段1, 字段2, ...) VALUES (值1, 值2, ...);

替換

REPLACE INTO (字段1, 字段2, ...) VALUES (值1, 值2, ...);

更新

UPDATE SET 字段1=值1, 字段2=值2, ... WHERE ...;

刪除

DELETE FROM WHERE ...;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541949.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541949.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541949.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

執行git push出現Everything up-to-date

在github上git clone一個項目&#xff0c;在里面創建一個目錄&#xff0c;然后git push的時候&#xff0c;出現報錯"Everything up-to-date" 原因&#xff1a;1&#xff09;沒有git add .2&#xff09;沒有git commit -m "提交信息"如果上面兩個步驟都成功…

Java File類boolean delete()方法(帶示例)

文件類布爾型delete() (File Class boolean delete()) This method is available in package java.io.File.delete(). 軟件包java.io.File.delete()中提供了此方法。 This method is used to delete file or directory by using delete() method and this method is accessible…

Unity3D Adam Demo的學習與研究

1.簡述 這篇文章是對Adam各種相關資料了解后進行一些精簡的內容。如果你想仔細研究某個技術請跳轉至unity相關頁面。 Adam官方頁面: https://unity3d.com/cn/pages/adam 搬運視頻以及資源包網盤下載: http://pan.baidu.com/s/1jH6NF86 Adam這個demo由8個人的團隊耗時6個月(part…

Java File類boolean isFile()方法(帶示例)

File類boolean isFile() (File Class boolean isFile()) This method is available in package java.io.File.isFile(). 軟件包java.io.File.isFile()中提供了此方法。 This method is used to check whether the file is specified by filepath is a file or not. 此方法用于檢…

要加油!

現實中我容易佩服一個人。 一個頑強的女人&#xff0c;一個艱苦奮斗的男人..... 但是在網絡的世界里&#xff0c;我沒有佩服過幾個&#xff0c;但是不得不說的就是冰河。同樣的年齡人家做的事情和我們做的事情差距是多么的大&#xff0c;真的想想心里都是天壤之別。 比一比才知…

Java DataOutputStream writeInt()方法及示例

DataOutputStream類writeInt()方法 (DataOutputStream Class writeInt() method) writeInt() method is available in java.io package. writeInt()方法在java.io包中可用。 writeInt() method is used to write the given integer value to the basic DataOutputStream as 4 b…

python安卓自動化實現方法_uiautomator +python 實現安卓UI自動化

簡單實例注&#xff1a;安卓6.0以上的手機不會自動安裝app-uiautomator.apk和app-uiautomator-test.apk&#xff0c;需要手動安裝&#xff0c;否則報錯ioerror RPC server not starteduiautomator pythonHTMLTestRunner 安卓UI自動化實現#coding:utf-8from uiautomator importD…

ES6特性之:Spread操作符

Spread操作符(...)&#xff0c;也稱作展開操作符&#xff0c;作用是將可迭代的(Iterable)對象進行展開。 比如有2個數組&#xff0c;我們要將其中一個數組中所有元素插入到另一個數組中&#xff0c;通過Spread操作符&#xff0c;就可以這樣進行&#xff1a; var fruits ["…

Java類class isMemberClass()方法及示例

類的類isMemberClass()方法 (Class class isMemberClass() method) isMemberClass() method is available in java.lang package. isMemberClass()方法在java.lang包中可用。 isMemberClass() method is used to check whether the underlying class is a member class or not.…

velocity自定義函數_velocity基本語法和總結

一&#xff1a;基本語法&#xff1a;1、#set(#a "a")$a ##輸出語句時直接寫變量的名稱即可2、判斷語句&#xff1a;#if($a "a") ##判斷語句沒有括號&#xff0c;也是直接輸出$a3、數組&#xff1a;#set($arry [0..10])$foreach($i in $arry)$i ##換行#e…

docker-machine指定cpu個數

序 給本機的一個服務壓測&#xff0c;結果半天qps上不了萬&#xff0c;而且經常跑滿cpu&#xff0c;搞半天發現&#xff0c;docker里頭才1核1G內存。原來boot2docker默認給docker-machine分配1個cpu和1G內存。 修改配置 docker-machine create \--driver virtualbox \--virtual…

Java ClassLoader findResources()方法與示例

ClassLoader類findResources()方法 (ClassLoader Class findResources() method) findResources() method is available in java.lang package. findResources()方法在java.lang包中可用。 findResources() method is used to find all the resources with the given resource …

Java ByteArrayInputStream mark()方法與示例

ByteArrayInputStream類mark()方法 (ByteArrayInputStream Class mark() method) mark() method is available in java.util package. mark()方法在java.util包中可用。 mark() method is used to set the current mark position in the stream from where read or write can b…

java mediainfo.dll_MediaInfo庫的簡單使用

想到一個問題, 如何獲得一個圖像文件(比如jpg, bmp, png)的信息. 自己查查文件的格式, 寫一個解析, 應該不困難; 但是找了下現成的, 發現MediaInfo庫已經可以非常好的實現需要的功能了.MediaInfo可以在sourceforge上找到, 是一個解析視頻,音頻, 圖片等媒體文件的庫. 可以得到文…

Redis配置和常用命令

1 redis.conf配置文件&#xff1a;2 引用3 #是否作為守護進程運行4 daemonize yes5 #配置pid的存放路徑及文件名&#xff0c;默認為當前路徑下6 pidfile redis.pid7 #Redis默認監聽端口8 port 63799 #客戶端閑置多少秒后&#xff0c;斷開連接 10 timeout 300 11 #日志顯示級別 …

oracle中dbms_DBMS中的功能依賴性和屬性關閉

oracle中dbms功能依賴 (Functional Dependency) A relational Database management System (RDBMS) represents the database o a collection of relations/tables. A functional dependency is a constraint between two sets of attributes in a relation. It is the propert…

java invoke 泛型_利用Java反射機制和泛型,全自動解析json

有啦這個簡直&#xff0c;太爽啦&#xff0c;利用Java 反射機制&#xff0c;利用Class 就可以得到 類的 變量 Field[] fieldscls.getDeclaredFields();還可以通過類中 的方法名字 去執行這個方法m1 cls.getDeclaredMethod(getMothodName(fields[j].getName()), String.class)…

2_C語言中的數據類型 (四)整數與無符號數

1.1 sizeof關鍵字 sizeof是c語言關鍵字&#xff0c;功能是求指定數據類型在內存中的大小&#xff0c;單位&#xff1a;字節 sizeof與size_t類型 1.1 int類型 1.1.1 int常量&#xff0c;變量 int就是32位的一個二進制整數&#xff0c;在內存當中占據4個字節…

python 示例_Python TextCalendar類別| pryear()方法與示例

python 示例Python TextCalendar.pryear()方法 (Python TextCalendar.pryear() Method) pryear() method is an inbuilt method of the TextCalendar class of calendar module in Python. It works on text calendars. It uses an instance of TextCalendar class and prints …

Spring實戰——通過Java代碼裝配bean

上篇說的是無需半行xml配置完成bean的自動化注入。這篇仍然不要任何xml配置&#xff0c;通過Java代碼也能達到同樣的效果。 這么說&#xff0c;是要把上篇的料拿出來再煮一遍&#xff1f; 當然不是&#xff0c;上篇我們幾乎都在用注解的方式如ComponentScan Component等就完成了…