javamysqldesc的簡單介紹

本文目錄一覽:

java中能否將升降序(asc,desc)作為一個String類型的參數傳到mysql中

這種沒試過,不過有種方法可以,先在實體里放個參數,然後將你的sql付給它,sql里就可以直接用這個屬性了

java習題:使用mysql數據庫創建學生信息表

use 庫名

go —–打開庫

create table 學生信息

(學號 int not null,

姓名 char(10) not null,

班級 nvarchar(20)

成績 int )

go —–這是建表

(1)insert into 學生信息(學號,姓名,班級,成績)

values(‘122153032′,’小靜’,‘計應123’,’99’) —-這是插入記錄以此類推插入五條

(2)select *

from 學生信息

where 成績85 —–顯示成績大於85分的學生信息

(3) select *

from 學生信息

order by 成績desc —將表中的所有記錄,按照成績從小到大順序排列

能幫你的只有這些,望採納!

java mysql問題,分組查詢

SELECT

*

FROM

(SELECT

d.`id`,

d.`stnb`,d.`rectime`

FROM

data

d,

device_config

dc

WHERE

d.stnb

=

dc.stnb

ORDER

BY

d.`rectime`

DESC)

t

GROUP

BY

t.stnb

用java如何將對mysql排序

兩種方式:

直接在mysql中排序, 查看一下SQL語句的order by 使用

查詢出來的數據,利用排序算法,在內存中排序。什麼插入排序,冒泡排序,快速排序等等。

個人建議,直接在數據庫中排序,簡單高效。

java mysql查詢語句怎麼寫

1:使用SHOW語句找出在服務器上當前存在什麼數據庫:

mysql SHOW DATABASES;

2:2、創建一個數據庫MYSQLDATA

mysql CREATE DATABASE MYSQLDATA;

3:選擇你所創建的數據庫

mysql USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!)

4:查看現在的數據庫中存在什麼表

mysql SHOW TABLES;

5:創建一個數據庫表

mysql CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6:顯示錶的結構:

mysql DESCRIBE MYTABLE;

7:往表中加入記錄

mysql insert into MYTABLE values (”hyq”,”M”);

8:用文本方式將數據裝入數據庫表中(例如D:/mysql.txt)

mysql LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;

9:導入.sql文件命令(例如D:/mysql.sql)

mysqluse database;

mysqlsource d:/mysql.sql;

10:刪除表

mysqldrop TABLE MYTABLE;

11:清空表

mysqldelete from MYTABLE;

12:更新表中數據

mysqlupdate MYTABLE set sex=”f” where name=’hyq’;

以下是無意中在網絡看到的使用MySql的管理心得,

在windows中MySql以服務形式存在,在使用前應確保此服務已經啟動,未啟動可用net start mysql命令啟動。而Linux中啟動時可用“/etc/rc.d/init.d/mysqld start”命令,注意啟動者應具有管理員權限。

剛安裝好的MySql包含一個含空密碼的root帳戶和一個匿名帳戶,這是很大的安全隱患,對於一些重要的應用我們應將安全性儘可能提高,在這裡應把匿名帳戶刪除、 root帳戶設置密碼,可用如下命令進行:

use mysql;

delete from User where User=””;

update User set Password=PASSWORD(’newpassword’) where User=’root’;

如果要對用戶所用的登錄終端進行限制,可以更新User表中相應用戶的Host字段,在進行了以上更改後應重新啟動數據庫服務,此時登錄時可用如下類似命令:

mysql -uroot -p;

mysql -uroot -pnewpassword;

mysql mydb -uroot -p;

mysql mydb -uroot -pnewpassword;

上面命令參數是常用參數的一部分,詳細情況可參考文檔。此處的mydb是要登錄的數據庫的名稱。

在 進行開發和實際應用中,用戶不應該只用root用戶進行連接數據庫,雖然使用root用戶進行測試時很方便,但會給系統帶來重大安全隱患,也不利於管理技 術的提高。我們給一個應用中使用的用戶賦予最恰當的數據庫權限。如一個只進行數據插入的用戶不應賦予其刪除數據的權限。MySql的用戶管理是通過 User表來實現的,添加新用戶常用的方法有兩個,一是在User表插入相應的數據行,同時設置相應的權限;二是通過GRANT命令創建具有某種權限的用戶。其中GRANT的常用用法如下:

grant all on mydb.* to NewUserName@HostName identified by “password” ;

grant usage on *.* to NewUserName@HostName identified by “password”;

grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”;

grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;

若 要給此用戶賦予他在相應對象上的權限的管理能力,可在GRANT後面添加WITH GRANT OPTION選項。而對於用插入User表添加的用戶,Password字段應用PASSWORD 函數進行更新加密,以防不軌之人竊看密碼。對於那些已經不用的用戶應給予清除,權限過界的用戶應及時回收權限,回收權限可以通過更新User表相應字段, 也可以使用REVOKE操作。

下面給出本人從其它資料()獲得的對常用權限的解釋:

全局管理權限:

FILE: 在MySQL服務器上讀寫文件。

PROCESS: 顯示或殺死屬於其它用戶的服務線程。

RELOAD: 重載訪問控制表,刷新日誌等。

SHUTDOWN: 關閉MySQL服務。

數據庫/數據表/數據列權限:

ALTER: 修改已存在的數據表(例如增加/刪除列)和索引。

CREATE: 建立新的數據庫或數據表。

DELETE: 刪除表的記錄。

DROP: 刪除數據表或數據庫。

INDEX: 建立或刪除索引。

INSERT: 增加表的記錄。

SELECT: 顯示/搜索表的記錄。

UPDATE: 修改表中已存在的記錄。

特別的權限:

ALL: 允許做任何事(和root一樣)。

USAGE: 只允許登錄–其它什麼也不允許做。

一、 簡單查詢

簡單的Transact-SQL查詢只包括選擇列表、FROM子句和WHERE子句。它們分別說明所查詢列、查詢的

表或視圖、以及搜索條件等。

例如,下面的語句查詢testtable表中姓名為“張三”的nickname字段和email字段。

複製內容到剪貼板

代碼:SELECT `nickname`,`email`FROM `testtable`WHERE `name`=’張三’

(一) 選擇列表

選擇列表(select_list)指出所查詢列,它可以是一組列名列表、星號、表達式、變量(包括局部變量和全局變量)等構成。

1、選擇所有列

例如,下面語句顯示testtable表中所有列的數據:

複製內容到剪貼板

代碼:SELECT * FROM testtable

2、選擇部分列並指定它們的顯示次序

查詢結果集合中數據的排列順序與選擇列表中所指定的列名排列順序相同。

例如:

複製內容到剪貼板

代碼:SELECT nickname,email FROM testtable

3、更改列標題

在選擇列表中,可重新指定列標題。定義格式為:

列標題=列名

列名 列標題

如果指定的列標題不是標準的標識符格式時,應使用引號定界符,例如,下列語句使用漢字顯示列

標題:

複製內容到剪貼板

代碼:SELECT 昵稱=nickname,電子郵件=email FROM testtable

4、刪除重複行

SELECT語句中使用ALL或DISTINCT選項來顯示錶中符合條件的所有行或刪除其中重複的數據行,默認

為ALL。使用DISTINCT選項時,對於所有重複的數據行在SELECT返回的結果集合中只保留一行。

5、限制返回的行數

使用TOP n [PERCENT]選項限制返回的數據行數,TOP n說明返回n行,而TOP n PERCENT時,說明n是

表示一百分數,指定返回的行數等於總行數的百分之幾。

例如:

複製內容到剪貼板

代碼:SELECT TOP 2 * FROM `testtable`

複製內容到剪貼板

代碼:SELECT TOP 20 PERCENT * FROM `testtable`

(二) FROM子句

FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,

它們之間用逗號分隔。

在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列

所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應

使用下面語句格式加以限定:

複製內容到剪貼板

代碼:SELECT `username`,citytable.cityid

FROM `usertable`,`citytable`

WHERE usertable.cityid=citytable.cityid在FROM子句中可用以下兩種格式為表或視圖指定別名:

複製內容到剪貼板

代碼:表名 as 別名

表名 別名例如上面語句可用表的別名格式表示為:

複製內容到剪貼板

代碼:SELECT `username`,b.cityid

FROM usertable a,citytable b

WHERE a.cityid=b.cityidSELECT不僅能從表或視圖中檢索數據,它還能夠從其它查詢語句所返回的結果集合中查詢數據。

例如:

複製內容到剪貼板

代碼:SELECT a.au_fname+a.au_lname

FROM authors a,titleauthor ta

(SELECT `title_id`,`title`

FROM `titles`

WHERE ` ytd_sales`10000

) AS t

WHERE a.au_id=ta.au_id

AND ta.title_id=t.title_id此例中,將SELECT返回的結果集合給予一別名t,然後再從中檢索數據。

(三) 使用WHERE子句設置查詢條件

WHERE子句設置查詢條件,過濾掉不需要的數據行。例如下面語句查詢年齡大於20的數據:

複製內容到剪貼板

代碼:SELECT * FROM usertable WHERE age20 WHERE子句可包括各種條件運算符:

比較運算符(大小比較):、=、=、、!、!=10 AND age複製內容到剪貼板

代碼:SELECT * FROM `usertable` ORDER BY `age` DESC,`userid` ASC另外,可以根據表達式進行排序。

二、 聯合查詢

UNION運算符可以將兩個或兩個以上上SELECT語句的查詢結果集合合併成一個結果集合顯示,即執行聯

合查詢。

UNION的語法格式為:

複製內容到剪貼板

代碼:select_statement

UNION [ALL] selectstatement

[UNION [ALL] selectstatement][…n]其中selectstatement為待聯合的SELECT查詢語句。

ALL選項表示將所有行合併到結果集合中。不指定該項時,被聯合查詢結果集合中的重複行將只保留一行。

聯合查詢時,查詢結果的列標題為第一個查詢語句的列標題。因此,要定義列標題必須在第一個查詢語

句中定義。要對聯合查詢結果排序時,也必須使用第一查詢語句中的列名、列標題或者列序號。

在使用UNION 運算符時,應保證每個聯合查詢語句的選擇列表中有相同數量的表達式,並且每個查詢選

擇表達式應具有相同的數據類型,或是可以自動將它們轉換為相同的數據類型。在自動轉換時,對於數值類

型,系統將低精度的數據類型轉換為高精度的數據類型。

在包括多個查詢的UNION語句中,其執行順序是自左至右,使用括號可以改變這一執行順序。例如:

查詢1 UNION (查詢2 UNION 查詢3)

三、連接查詢

通過連接運算符可以實現多個表查詢。連接是關係數據庫模型的主要特點,也是它區別於其它類型數據庫管理系統的一個標誌。

在關係數據庫管理系統中,表建立時各數據之間的關係不必確定,常把一個實體的所有信息存放在

一個表中。當檢索數據時,通過連接操作查詢出存放在多個表中的不同實體的信息。連接操作給用戶帶

來很大的靈活性,他們可以在任何時候增加新的數據類型。為不同實體創建新的表,爾後通過連接進行

查詢。

連接可以在SELECT 語句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出連接時有助於

將連接操作與WHERE子句中的搜索條件區分開來。所以,在Transact-SQL中推薦使用這種方法。

SQL-92標準所定義的FROM子句的連接語法格式為:

代碼:FROM join_table join_type join_table [ON (join_condition)]其中join_table指出參與連接操作的表名,連接可以對同一個表操作,也可以對多表操作,對同一個表操作的連接又稱做自連接。

join_type 指出連接類型,可分為三種:內連接、外連接和交叉連接。

內連接(INNER JOIN)使用比較運算符進行表間某(些)列數據的比較操作,並列出這些表中與連接條件相匹配的數據行。根據所使用的比較方式不同,內連接又分為等值連接、自然連接和不等連接三種。

外連接分為左外連接(LEFT OUTER JOIN或LEFT JOIN)、右外連接(RIGHT OUTER JOIN或RIGHT JOIN)

和全外連接(FULL OUTER JOIN或FULL JOIN)三種。與內連接不同的是,外連接不只列出與連接條件相匹配的行,而是列出左表(左外連接時)、右表(右外連接時)或兩個表(全外連接時)中所有符合搜索條件的數據行。

交叉連接(CROSS JOIN)沒有WHERE 子句,它返回連接表中所有數據行的笛卡爾積,其結果集合中的數據行數等於第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。

連接操作中的ON (join_condition) 子句指出連接條件,它由被連接表中的列和比較運算符、邏輯運算符等構成。

無論哪種連接都不能對text、ntext和image數據類型列進行直接連接,但可以對這三種列進行間接連接。例如:

代碼:SELECT p1.pub_id,p2.pub_id,p1.pr_info

FROM pub_info AS p1 INNER JOIN pub_info AS p2

ON DATALENGTH(p1.pr_info)=DATALENGTH(p2.pr_info)(一)內連接

內連接查詢操作列出與連接條件匹配的數據行,它使用比較運算符比較被連接列的列值。

內連接分三種:

1、等值連接:在連接條件中使用等於號(=)運算符比較被連接列的列值,其查詢結果中列出被連接表中的所有列,包括其中的重複列。

2、不等連接: 在連接條件使用除等於運算符以外的其它比較運算符比較被連接的列的列值。這些運算符包括、=、、!。

3、自然連接:在連接條件中使用等於(=)運算符比較被連接列的列值,但它使用選擇列表指出查詢結果集合中所包括的列,並刪除連接表中的重複列。

例,下面使用等值連接列出authors和publishers表中位於同一城市的作者和出版社:

代碼:SELECT *

FROM authors AS a INNER JOIN publishers AS p

ON a.city=p.city又如使用自然連接,在選擇列表中刪除authors 和publishers 表中重複列(city和state):

複製內容到剪貼板

代碼:SELECT a.*,p.pub_id,p.pub_name,p.country

FROM authors AS a INNER JOIN publishers AS p

ON a.city=p.city

(二)外連接內連接時,返回查詢結果集合中的僅是符合查詢條件( WHERE 搜索條件或 HAVING 條件)和連接條件

的行。而採用外連接時,它返回到查詢結果集合中的不僅包含符合連接條件的行,而且還包括左表(左外連接時)、右表(右外連接時)或兩個邊接表(全外連接)中的所有數據行。

如下面使用左外連接將論壇內容和作者信息連接起來:

代碼:SELECT a.*,b.* FROM `luntan` LEFT JOIN usertable as b

ON a.username=b.username下面使用全外連接將city表中的所有作者以及user表中的所有作者,以及他們所在的城市:

代碼:SELECT a.*,b.*

FROM city as a FULL OUTER JOIN user as b

ON a.username=b.username

(三)交叉連接

交叉連接不帶WHERE 子句,它返回被連接的兩個表所有數據行的笛卡爾積,返回到結果集合中的數

據行數等於第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。

例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數將等

於6*8=48行。

代碼:SELECT `type`,`pub_name`

FROM `titles` CROSS JOIN `publishers`

ORDER BY `type`

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/128027.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:24
下一篇 2024-10-03 23:24

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的“畫筆”在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進制下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27

發表回復

登錄後才能評論