當前位置:首頁 » 編程語言 » mysql常用sql

mysql常用sql

發布時間: 2022-04-02 04:15:42

❶ mysql常用命令都有哪些

1.導出整個資料庫
mysqlmp-u用戶名-p–default-character-set=latin1資料庫名》導出的文件名(資料庫默認編碼是latin1)23mysqlmp-uwcnc-psmgp_apps_wcnc》wcnc.sql
2.導出一個表
mysqlmp-u用戶名-p資料庫名表名》導出的文件名23mysqlmp-uwcnc-psmgp_apps_wcncusers》wcnc_users.sql
3.導出一個資料庫結構
mysqlmp-uwcnc-p-d–add-drop-tablesmgp_apps_wcnc》d:wcnc_db.sql23-d沒有數據–add-drop-table在每個create語句之前增加一個droptable
4.導入資料庫
A:常用source命令23進入mysql資料庫控制台,45如mysql-uroot-p67mysql》use資料庫89然後使用source命令,後面參數為腳本文件(如這里用到的.sql)1011mysql》sourcewcnc_db.sql1213B:使用mysqlmp命令1415mysqlmp-uusername-pdbname《filename.sql1617C:使用mysql命令1819mysql-uusername-p-Ddbname《filename.sql啟動與退出
1、進入MySQL:啟動MySQLCommandLineClient(MySQL的DOS界面),直接輸入安裝時的密碼即可。此時的提示符是:mysql》
2、退出MySQL:quit或exit
5.創建資料庫
命令:createdatabase《資料庫名》
例如:建立一個名為xhkdb的資料庫
mysql》createdatabasexhkdb;
6.顯示所有的資料庫
命令:showdatabases(注意:最後有個s)
mysql》showdatabases;
7.刪除資料庫
命令:dropdatabase《資料庫名》
8.連接資料庫
命令:use《資料庫名》
例如:如果xhkdb資料庫存在,嘗試存取它:
9.查看當前使用的資料庫
mysql》selectdatabase();
10.當前資料庫包含的表信息:
mysql》showtables;(注意:最後有個s)

❷ SQL和MYSQL在公司里哪個用的多

看公司規模, 與體系結構的.

如果公司系統是使用 Linux 體系的 ( 用這個可以避免收到某些公司的 律師函 )
那麼 大部分是使用 MYSQL 的了

如果公司系統是使用 Windows 體系的 ( 要有錢買 Win Server 和 SQL Server 的 )
那麼就是使用 SQL Server 或者 Oracle 的了。

畢竟公司與個人不一樣。
你個人學習, 裝 Window 還是 Linux, 裝個 Mysql 還是 SQL Server 還是 Oracle
某些公司不會因為你個人使用, 上法院找你麻煩的, 告贏了, 還不夠律師費呢。

但是公司就不一樣了......
特別是某些 小公司, 剛起步的時候, 用啥,也沒人找你麻煩。
等你發展到一定規模了, 各種電話就來了...
( 因為養肥了嘛 , 而且你已經成一定規模了, 要徹底換系統的體系結構, 也難了 )

❸ MySQL常用的功能有哪些

Navicat for MySQL 是一套管理和開發 MySQL 或 MariaDB 的理想解決方案,支持單一程序,可同時連接到 MySQL和MariaDB,主要功能包括 SQL 創建工具或編輯器、數據模型工具、數據傳輸、導入或導出、數據或結構同步、報表等。
SQL 創建工具或編輯器
SQL 創建工具:視覺化 SQL 創建工具創建和編輯查詢或視圖,不必擔心語法和正確命令的用法。選擇需要在表中執行的操作,自動編寫 SQL 語句。
自動完成代碼:使用自動完成代碼功能,能快速地在 SQL 編輯器中創建 SQL 語句。無論選擇資料庫對象的屬性或 SQL 關鍵字,只需從下拉列表中選擇。
資料庫設計器
逆向工程:使用 Navicat for MySQL逆向工程,可從一個現有的資料庫創建資料庫模型,可視化地顯現和編輯資料庫結構或創建一個圖形模型,並由模型生成一個資料庫。
正向工程和生成腳本:同步到資料庫功能可充分了解所有資料庫的差異,生成必要的同步腳本來更新目標資料庫,並使其與模型相同。導出 SQL 有機會全面控制最終的 SQL 腳本,生成參照完整性規則,生成模型的獨立部份、注釋、字元集等,可大大節省工作時間。
數據處理工具
導入或導出向導:從不同格式的文件導入數據到表,例如 Access、Excel、XML、TXT、CSV、JSON 及更多。而且在設置數據源連接後,可以從 ODBC 導入數據。只需簡單地選擇需要導入的表,或使用添加查詢按鈕指定查詢。同樣可以將數據導出到各種格式,如 Excel、TXT、CSV、DBF、XML 等。
數據傳輸:在多個資料庫間輕松地傳輸數據,可以選擇指定的 SQL 格式和編碼導出數據為 SQL 文件,這個功能可大大的簡化遷移數據的進程。
數據或結構同步:從一個資料庫中詳細的分析進程傳輸數據到另外一個資料庫,同樣可以對比並修改表的結構。在數據和結構同步中,目標資料庫可以在源伺服器,也可以在其他的伺服器。
備份或還原:定期備份資料庫對用戶淶水相當重要,備份或還原全部表、記錄、視圖等。如果數據損壞,不用再重做,高枕無憂。
報表創建工具或查看器 只限於 Windows 版本
使用用戶友好 GUI 報表創建工具創建各種不同類型的報表,設計發票、統計、郵寄標簽及更多其他報表。輸出報表到多種格式,如 text、PDF、Lotus、Excel、Graphic、Html 等。

❹ MySQL最常用的幾個基本SQL語句

插入:insert
into
table1(field1,field2)
values(value1,value2)
刪除:delete
from
table1
where
范圍
更新:update
table1
set
field1=value1
where
范圍
查找:select
*
from
table1
where
field1
like
』%value1%』
---like的語法很精妙,查資料!
排序:select
*
from
table1
order
by
field1,field2
[desc]
總數:select
count
as
totalcount
from
table1
求和:select
sum(field1)
as
sumvalue
from
table1
平均:select
avg(field1)
as
avgvalue
from
table1
最大:select
max(field1)
as
maxvalue
from
table1
最小:select
min(field1)
as
minvalue
from
table1

❺ mysql基本操作有哪些

mysql基本操作有:
命令行
1、顯示當前資料庫伺服器中的資料庫列表:mysql> SHOW DATABASES;
2、建立資料庫:mysql> CREATE DATABASE 庫名;
3、建立數據表:mysql> USE 庫名;mysql> CREATE TABLE 表名 (欄位名 VARCHAR(20), 欄位名 CHAR(1));
4、刪除資料庫:mysql> DROP DATABASE 庫名;
5、刪除數據表:mysql> DROP TABLE 表名;
6、將表中記錄清空:mysql> DELETE FROM 表名;
7、往表中插入記錄:mysql> INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中數據:mysql-> UPDATE 表名 SET 欄位名1='a',欄位名2='b' WHERE 欄位名3='c';
9、用文本方式將數據裝入數據表中:mysql> load data local infile "d:/mysql.txt" into table 表名;
10、導入.sql文件命令:mysql> USE 資料庫名;mysql> source d:/mysql.sql;
11、命令行修改root密碼:mysql> update mysql.user set password=password('新密碼') where user='root';mysql> flush privileges;
12.修改密碼的三種方法:mysql>update user set password=password('123456') where user='joy_pen';mysql>flush privileges;mysql>set password for 'joy_oen'=password('123456');mysql>grant usage on *.* to 'joy_pen' identified by '123456';
1、創建資料庫
命令:create database <資料庫名> 例如:建立一個名為xhkdb的資料庫mysql> create database xhkdb;
2、顯示所有的資料庫
命令:show databases (注意:最後有個s)mysql> show databases;
3、刪除資料庫
命令:drop database <資料庫名> 例如:刪除名為 xhkdb的資料庫mysql> drop database xhkdb;
4、連接資料庫
命令: use <資料庫名> 例如:如果xhkdb資料庫存在,嘗試存取它:mysql> use xhkdb; 屏幕提示:Database changed
5、當前選擇(連接)的資料庫mysql> select database();
6、當前資料庫包含的表信息:mysql> show tables; (注意:最後有個s)
三、表操作,操作之前應連接某個資料庫
1、建表
命令:create table <表名> ( <欄位名1> <類型1> [,..<欄位名n> <類型n>]);
mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default ''0'',
> degree double(16,2));
2、獲取表結構
命令: desc 表名,或者show columns from 表名
mysql>DESCRIBE MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
3、刪除表
命令:drop table <表名>
例如:刪除表名為 MyClass 的表 mysql> drop table MyClass;
4、插入數據
命令:insert into <表名> [( <欄位名1>[,..<欄位名n > ])] values ( 值1 )[, ( 值n )]
例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號為1的名為Tom的成績為96.45, 編號為2 的名為Joan 的成績為82.99,編號為3 的名為Wang 的成績為96.5.
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
5、查詢表中的數據
1)、查詢所有行
命令: select <欄位1,欄位2,...> from < 表名 > where < 表達式 >
例如:查看錶 MyClass 中所有數據 mysql> select * from MyClass;
2)、查詢前幾行數據
例如:查看錶 MyClass 中前2行數據
mysql> select * from MyClass order by id limit 0,2;
6、刪除表中數據
命令:delete from 表名 where 表達式
例如:刪除表 MyClass中編號為1 的記錄
mysql> delete from MyClass where id=1;
7、修改表中數據:update 表名 set 欄位=新值,… where 條件
mysql> update MyClass set name=''Mary'' where id=1;
8、在表中增加欄位:
命令:alter table 表名 add 欄位 類型 其他;
例如:在表MyClass中添加了一個欄位passtest,類型為int(4),默認值為0
mysql> alter table MyClass add passtest int(4) default ''0''
9、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改為YouClass
mysql> rename table MyClass to YouClass;
更新欄位內容
update 表名 set 欄位名 = 新內容
update 表名 set 欄位名 = replace(欄位名,''舊內容'',''新內容'');

❻ mysql中的sql語句

character introcer翻譯過來就是字元引導。也就是針對字元串,顯式的給定一個字元編碼和排序規則,不受系統參數的影響。

總結 Introcer 使用規則:

1. convert 函數

convert 函數類似於 introcer,不過只能指定字元集。

2. charset 函數

檢測字元串的字元集。可以檢測出當前字元串在當前 session 的字元集。

3. set names 語句

語法為:

SETNAMES{'charset_name'[COLLATE 'collation_name'] | DEFAULT}

這條語句最常用,可是也最容易被濫用,比如語句:

  • set names latin1 collate latin1_bin;

  • 執行後會默認執行一系列語句,也就是把非服務端的相關參數給重新設定了。

4. set character set 語句語法為:

SET{CHARACTERSET|CHARSET}{'charset_name' | DEFAULT}

  • 類似語句 set names,同樣是設置以下三個 session 參數:
  • character_set_results

  • character_set_client

  • character_set_connection

同樣是可以恢復默認值,還有同樣的限制規則等。不過有兩點不同:1)參數 character_set_connection 的值不會被設定為指定的字元集,而是繼承參數 character_set_database 所設定的字元集。

5. collate 子句

collate 語句強制指定排序規則,優先順序最高。也就是顯式指定 collate 會覆蓋已有的排序規則。

這里涉及到單個字元串以及字元串拼接的排序規則問題。

❼ mysql多表查詢sql語句怎麼寫

一使用SELECT子句進行多表查詢
SELECT 欄位名 FROM 表1,表2 … WHERE 表1.欄位 = 表2.欄位 AND 其它查詢條件
SELECT a.id,a.name,a.address,a.date,b.math,b.english,b.chinese FROM tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id
注:在上面的的代碼中,以兩張表的id欄位信息相同作為條件建立兩表關聯,但在實際開發中不應該這樣使用,最好用主外鍵約束來實現

二使用表的別名進行多表查詢
如:SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id AND b.id='$_POST[textid]'
SQL語言中,可以通過兩種方式為表指定別名
第一種是通過關鍵字AS指定,如
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 AS a,tb_demo065_tel AS b WHERE a.id=b.id
第二種是在表名後直接加表的別名實現
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id
使用表的別名應注意幾下幾點
(1)別名通常是一個縮短了的表名,用於在連接中引用表中的特定列,如果連接中的多個表中有相同的名稱列存在,必須用表名或表的別名限定列名
(2)如果定義了表的別名就不能再使用表名

三合並多個結果集
SQL語言中,可以通過UNION 或 ALL將多個SELECT語句的查詢結果合並輸出,這兩個關鍵字的使用說明如下:
UNION:利用該關鍵字可以將多個SELECT 語句的查詢結果合並輸出,並刪除重復行
ALL:利用該關鍵字可以將多個SELECT 語句的查詢結果合並輸出,但不會刪除重復行
在使用UNION或ALL關鍵字將多個表合並輸出時,查詢結果必須具有相同的結構並且數據類型必須兼容,另外使用UNION時兩張表的欄位數量也必須相同,否則會提示SQL語句有錯誤。
e.x:SELECT id,name,pwd FROM tb_demo067 UNION SELECT uid,price,date FROM tb_demo067_tel

四簡單嵌套查詢
子查詢:子查詢是一個SELECT查詢,返回單個值且嵌套在SELECT、INSERT、UPDATE和DELETE語句或其它查詢語句中,任何可以使用表達式的地方都可以使用子查詢.
SELECT id,name,sex,date FROM tb_demo068 WHERE id in(SELECT id FROM tb_demo068 WHERE id='$_POST[test]')
內連接:把查詢結果作為WHERE子句的查詢條件即稱為內連接

五復雜的嵌套查詢
多表之間的嵌套查詢可以通過謂詞IN實現,語法格式如下:
test_expression[NOT] IN{
subquery
}
參數說明:test_expression指SQL表達式,subquery包含某結果集的子查詢
多表嵌套查詢的原理:無論是多少張表進行嵌套,表與表之間一定存在某種關聯,通過WHERE子句建立此種關聯實現查詢

六嵌套查詢在查詢統計中的應用
實現多表查詢時,可以同時使用謂詞ANY、SOME、ALL,這些謂詞被稱為定量比較謂詞,可以和比較運算符聯合使用,判斷是否全部返回值都滿足搜索條件.SOME和ANY謂詞是存在量的,只注重是否有返回值滿足搜索條件,這兩個謂詞的含義相同,可以替換使用;ALL謂詞稱為通用謂詞,它只關心是否有謂詞滿足搜索要求.
SELECT * FROM tb_demo069_people WHERE uid IN(SELECT deptID FROM tb_demo069_dept WHERE deptName='$_POST[select]')
SELECT a.id,a.name FROM tb_demo067 AS a WHERE id<3)
>ANY 大於子查詢中的某個值

>=ANY 大於等於子查詢中的某個值
<=ANY 小於等於子查詢中的某個值
=ANY 等於子查詢中的某個值
!=ANY或>ANY 不等於子查詢中的某個值
>ALL 大於子查詢中的所有值

>=ALL 大於等於子查詢中的所有值
<=ALL 小於等於子查詢中的所有值
=ALL 等於子查詢中的所有值
!=ALL或>ALL 不等於子查詢中的所有值

七.使用子查詢作派生的表
在實際項目開發過程中經常用到從一個信息較為完善的表中派生出一個只含有幾個關鍵欄位的信息表,通過子查詢就可以來實現這一目標,如
SELECT people.name,people.chinese,people.math,people.english FROM (SELECT name,chinese,math,english FROM tb_demo071) AS people
注:子查詢應遵循以下規則:
(1)由比較運算符引入的內層子查詢只包含一個表達式或列名,在外層語句中的WHERE子句內命名的列必須與內層子查詢命名的列兼容
(2)由不可更改的比較運算符引入的子查詢(比較運算符後面不跟關鍵字ANY或ALL)不包括GROUP BY 或 HAVING子句,除非預先確定了成組或單個的值
(3)用EXISTS引入的SELECT列表一般都由*組成,不必指定列名
(4)子查詢不能在內部處理其結果

八使用子查詢作表達式
SELECT (SELECT AVG(chinese)FROM tb_demo071),(SELECT AVG(english)FROM tb_demo071),(SELECT AVG(math)FROM tb_demo071) FROM tb_demo071
註:在使用子查詢時最好為列表項取個別名,這樣可以方便用戶在使用mysql_fetch_array()函數時為表項賦值,如
SELECT (SELECT AVG(chinese) FROM tb_demo071) AS yuwen ,(SELECT AVG(english) FROM tb_demo071) AS yingyu,(SELECT AVG(math) FROM tb_demo071) AS shuxue FROM tb_demo071

九使用子查詢關聯數據
SELECT * FROM tb_demo072_student WHERE id=(SELECT id FROM tb_demo072_class WHERE className = '$_POST[text]')

十多表聯合查詢
利用SQL語句中的UNION,可以將不同表中符合條件的數據信息顯示在同一列中。
e.x:SELECT * FROM tb_demo074_student UNION SELECT * FROM tb_demo074_fasten
注:使用UNION時應注意以下兩點:
(1)在使用UNION運算符組合的語句中,所有選擇列表的表達式數目必須相同,如列名、算術表達式及聚合函數等
(2)在每個查詢表中,對應列的數據結構必須一樣。

十一對聯合後的結果進行排序
為了UNION的運算兼容,要求所有SELECT語句都不能有ORDER BY語句,但有一種情況例外,那就是在最後一個SELECT語句中放置ORDER BY 子句實現結果的最終排序輸出。
e.x:SELECT * FROM tb_demo074_student UNION SELECT * FROM tb_demo074_fasten ORDER BY id
使用UNION條件上相對比較苛刻,所以使用此語句時一定要注意兩個表項數目和欄位類型是否相同
十二條件聯合語句
SELECT * FROM tb_demo076_BEIJING GROUP BY name HAVING name='人民郵電出版社' OR name='機械工業出版社' UNION SELECT * FROM tb_demo076_BEIJING GROUP BY name HAVING name >'人民郵電出版社' AND name >'機械工業再版社' ORDER BY id
上面語句應用了GROUP BY分組語句和HAVING語句實現條件聯合查詢。其實現目的是先保證將'人民郵電出版社'和'機械工業出版社'始終位於名單最前列,然後再輸出其它的出版社

十三簡單內連接查詢
SELECT filedlist FROM table1 [INNER] JOIN table2 ON table1.column1 = table2.column1
其中,filedlist是要顯示的欄位,INNER表示表之間的連接方式為內連接,table1.column1=table2.column1用於指明兩表間的連接條件,如:
SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id

十四復雜內連接查詢
復雜的內連接查詢是在基本的內連接查詢的基礎上再附加一些查詢條件,如:
SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id WHERE b.id=(SELECT id FROM tb_demo065 WHERE tb_demo065.name='$_POST[text]')
總之,實現表與表之間的關聯的本質是兩表之間存在共同的數據項或者相同的數據項,通過WHERE 子句或內連接INNER JOIN … ON 語句將兩表連接起來,實現查詢

十五使用外連接實現多表聯合查詢
(1)LEFT OUTER JOIN表示表之間通過左連接方式相互連接,也可簡寫成LEFT JOIN,它是以左側的表為基準故稱左連接,左側表中所有信息將被全部輸出,而右側表信息則只會輸出符合條件的信息,對不符合條件的信息則返回NULL
e.x:SELECT a.name,a.address,b.math,b.english FROM tb_demo065 AS A LEFT OUTER JOIN tb_demo065_tel AS b ON a.id=b.id
(2)RIGHT OUTER JOIN表示表之間通過右連接方式相互連接,也可簡寫成RIGHT JOIN,它是以右側的表為基準故稱右連接,右側表中所有信息將被全部輸出,而左側表信息則只會輸出符合條件的信息,對不符合條件的信息則返回NULL
E.X:SELECT a.name,a.address,b.math,b.english FROM tb_demo065 AS A RIGHT OUTER JOIN tb_demo065_tel AS b ON a.id=b.id

十六利用IN或NOTIN關鍵字限定范圍
e.x:SELECT * FROM tb_demo083 WHERE code IN(SELECT code FROM tb_demo083 WHERE code BETWEEN '$_POST[text1]' AND '$_POST[text2]')
利用IN可指定在范圍內查詢,若要求在某范圍外查詢可以用NOT IN代替它

十七由IN引入的關聯子查詢
e.x:SELECT * FROM tb_demo083 WHERE code IN(SELECT code FROM tb_demo083 WHERE code = '$_POST[text]')

十八利用HAVING語句過濾分組數據
HAVING子句用於指定組或聚合的搜索條件,HAVING通常與GROUP BY 語句一起使用,如果SQL語句中不含GROUP BY子句,則HAVING的行為與WHERE子句一樣.
e.x:SELECT name,math FROM tb_demo083 GROUP BY id HAVING math > '95'

❽ mysql用的是sql語言是吧,就是最基本的sql標准語言是嗎

大部分關系資料庫管理系統都使用SQL語言,並且很多都擴展了標準的SQL語言。每種資料庫都能使用標準的SQL語言,但是擴展的部分不一樣。

❾ mysql資料庫中最常用的幾個命令

Mysql常用命令行大全 機 第一招、mysql服務的啟動和停止 net stop mysql net start mysql 第二招、登陸mysql 語法如下: mysql -u用戶名 -p用戶密碼 鍵入命令mysql -uroot -p, 回車後提示你輸入密碼,輸入12345,然後回車即可進入到mysql中了,mysql的提示符是: mysql> 注意,如果是連接到另外的機器上,則需要加入一個參數-h機器IP 第三招、增加新用戶 格式:grant 許可權 on 資料庫.* to 用戶名@登錄主機 identified by "密碼" 如,增加一個用戶user1密碼為password1,讓其可以在本機上登錄, 並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root用戶連入mysql,然後鍵入以下命令: grant select,insert,update,delete on *.* to user1@localhost Identified by "password1"; 如果希望該用戶能夠在任何機器上登陸mysql,則將localhost改為"%"。 如果你不想user1有密碼,可以再打一個命令將密碼去掉。 grant select,insert,update,delete on mydb.* to user1@localhost identified by ""; 第四招: 操作資料庫 登錄到mysql中,然後在mysql的提示符下運行下列命令,每個命令以分號結束。 1、 顯示資料庫列表。 show databases; 預設有兩個資料庫:mysql和test。 mysql庫存放著mysql的系統和用戶許可權信息,我們改密碼和新增用戶,實際上就是對這個庫進行操作。 2、 顯示庫中的數據表: use mysql; show tables; 3、 顯示數據表的結構: describe 表名; 4、 建庫與刪庫: create database 庫名; drop database 庫名; 5、 建表: use 庫名; create table 表名(欄位列表); drop table 表名; 6、 清空表中記錄: delete from 表名; 7、 顯示表中的記錄: select * from 表名; 第五招、導出和導入數據 1. 導出數據: mysqlmp --opt test > mysql.test 即將資料庫test資料庫導出到mysql.test文件,後者是一個文本文件 如:mysqlmp -u root -p123456 --databases dbname > mysql.dbname 就是把資料庫dbname導出到文件mysql.dbname中。 2. 導入數據: mysqlimport -u root -p123456 < mysql.dbname。 不用解釋了吧。 3. 將文本數據導入資料庫: 文本數據的欄位數據之間用tab鍵隔開。 use test; load data local infile "文件名" into table 表名; 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) mysql>use database; mysql>source d:/mysql.sql; 10:刪除表 mysql>drop TABLE MYTABLE; 11:清空表 mysql>delete from MYTABLE; 12:更新表中數據 mysql>update MYTABLE set sex="f" where name='hyq'; posted on 2006-01-10 16:21 happytian 閱讀(6) 評論(0) 編輯 收藏 收藏至365Key 13:備份資料庫 mysqlmp -u root 庫名>xxx.data 14:例2:連接到遠程主機上的MYSQL 假設遠程主機的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令: mysql -h110.110.110.110 -uroot -pabcd123 (注:u與root可以不用加空格,其它也一樣) 3、退出MYSQL命令: exit (回車)

❿ mysql sql 語句

一、 簡單查詢
簡單的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 別名
表名 別名

(二) 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.cityid

SELECT不僅能從表或視圖中檢索數據,它還能夠從其它查詢語句所返回的結果集合中查詢數據。

例如:

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 age>20

WHERE子句可包括各種條件運算符:
比較運算符(大小比較):>、>=、=、<、<=、<>、!>、!<
范圍運算符(表達式值是否在指定的范圍):BETWEEN...AND...
NOT BETWEEN...AND...
列表運算符(判斷表達式是否為列表中的指定項):IN (項1,項2......)
NOT IN (項1,項2......)
模式匹配符(判斷值是否與指定的字元通配格式相符):LIKE、NOT LIKE
空值判斷符(判斷表達式是否為空):IS NULL、NOT IS NULL
邏輯運算符(用於多條件的邏輯連接):NOT、AND、OR

1、范圍運算符例:age BETWEEN 10 AND 30相當於age>=10 AND age<=30
2、列表運算符例:country IN ('Germany','China')
3、模式匹配符例:常用於模糊查找,它判斷列值是否與指定的字元串格式相匹配。可用於char、varchar、text、ntext、datetime和smalldatetime等類型查詢。
可使用以下通配字元:
百分號%:可匹配任意類型和長度的字元,如果是中文,請使用兩個百分號即%%。
下劃線_:匹配單個任意字元,它常用來限製表達式的字元長度。
方括弧[]:指定一個字元、字元串或范圍,要求所匹配對象為它們中的任一個。[^]:其取值也[] 相同,但它要求所匹配對象為指定字元以外的任一個字元。
例如:
限制以Publishing結尾,使用LIKE '%Publishing'
限制以A開頭:LIKE '[A]%'
限制以A開頭外:LIKE '[^A]%'

4、空值判斷符例WHERE age IS NULL

5、邏輯運算符:優先順序為NOT、AND、OR

(四)查詢結果排序

使用ORDER BY子句對查詢返回的結果按一列或多列排序。ORDER BY子句的語法格式為:
ORDER BY {column_name [ASC|DESC]} [,...n]
其中ASC表示升序,為默認值,DESC為降序。ORDER BY不能按ntext、text和image數據類型進行排
序。
例如:

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

熱點內容
鋁壓縮曲線 發布:2025-07-27 00:48:16 瀏覽:560
修改ftp主動模式 發布:2025-07-27 00:48:01 瀏覽:853
java查看環境變數 發布:2025-07-27 00:45:47 瀏覽:14
php文件結構 發布:2025-07-27 00:44:19 瀏覽:672
阿里雲伺服器資料庫收費 發布:2025-07-27 00:44:18 瀏覽:681
安卓引導模式怎麼取消 發布:2025-07-27 00:19:11 瀏覽:275
幸運9變色腳本 發布:2025-07-27 00:13:14 瀏覽:928
linuxdate修改 發布:2025-07-27 00:08:01 瀏覽:547
114la源碼 發布:2025-07-26 23:55:54 瀏覽:315
我的世界怎麼毀伺服器主城 發布:2025-07-26 23:54:48 瀏覽:212