linux之SQL语句简明教程DROPTRUNCATE(精选9篇)由网友“灵汐”投稿提供,下面就是小编给大家整理后的linux之SQL语句简明教程DROPTRUNCATE,希望您能喜欢!
篇1:linux之SQL语句简明教程DROPTRUNCATE
有时候我们会决定我们需要从数据库中清除一个表格,事实上,如果我们不能这样做的话,那将会是一个很大的问题,因为数据库管理师 (Database Administrator -- DBA) 势必无法对数据库做有效率的管理。还好,SQL 有提供一个DROP TABLE的语法来让我们清除表格。DROP TABLE的语法是:
DROP TABLE “表格名”;我们如果要清除在SQL CREATE 中建立的顾客表格,我们就打入:
DROP TABLE Customer;有时候我们会需要清除一个表格中的所有资料,
要达到者个目的,一种方式是我们在 SQL DROP 那一页 看到 的DROP TABLE指令。不过这样整个表格就消失,而无法再被用了。另一种方式就是运用TRUNCATE TABLE的指令。在这个指令之下,表格中的资料会完全消失,可是表格本身会继续存在。TRUNCATE TABLE的语法为下:
TRUNCATE TABLE “表格名”;所以,我们如果要清除在SQL Create Table那一页建立的顾客表格之内的资料,我们就打入:
TRUNCATE TABLE Customer;篇2:linux之SQL语句简明教程IN
在 SQL 中,在两个情况下会用到IN这个指令;这一页将介绍其中之一 -- 与WHERE有关的那一个情况,在这个用法下,我们事先已知道至少一个我们需要的值,而我们将这些知道的值都放入IN这个子句。IN指令的 语法为下:
SELECT “栏位名”FROM “表格名”
WHERE “栏位名” IN ('值一', '值二', ...);
在括弧内可以有一或多个值,而不同值之间由逗点分开。值可以是数目或是文字。若在括弧内只有一个值,那这个子句就等于
WHERE “栏位名” = '值一'举例来说,若我们要在以下的Store_Information表格中找出所有含盖 Los Angeles 或 San Diego 的资料,
Store_Information表格
Store_NameSalesTxn_DateLos Angeles150005-Jan-San Diego25007-Jan-1999San Francisco30008-Jan-1999Boston70008-Jan-1999我们就打入,
SELECT *FROM Store_Information
WHERE Store_Name IN ('Los Angeles', 'San Diego');
结果:
Store_NameSalesTxn_DateLos Angeles1500Jan-05-1999San Diego250Jan-07-1999Linux实测结果如下:
篇3:linux之SQL语句简明教程CREATEINDEX
索引 (Index) 可以帮助我们从表格中快速地找到需要的资料,举例来说,假设我们要在一本园艺书中找如何种植青椒的讯息。若这本书没有索引的话,那我们是必须要从头开始读,直到我们找到有关种直青椒的地方为止。若这本书有索引的话,我们就可以先去索引找出种植青椒的资讯是在哪一页,然后直接到那一页去阅读。很明显地,运用索引是一种有效且省时的方式。
从资料库表格中寻找资料也是同样的原理。如果一个表格没有索引的话,资料库系统就需要将整个表格的资料读出 (这个过程叫做'table scan')。若有适当的索引存在,资料库系统就可以先由这个索引去找出需要的资料是在表格的什么地方,然后直接去那些地方抓资料。这样子速度就快多了。
因此,在表格上建立索引是一件有利于系统效率的事。一个索引可以涵盖一或多个栏位。建立索引的语法如下:
CREATE INDEX “INDEX_NAME” ON “TABLE_NAME” (COLUMN_NAME);现在假设我们有以下这个表格,
Customer表格
栏位名称资料种类First_Namechar(50)Last_Namechar(50)Addresschar(50)Citychar(50)Countrychar(25)Birth_Datedatetime若我要在 Last_Name @谖簧辖ㄒ索引,我就打入以下的指令,
CREATE INDEX IDX_CUSTOMER_LAST_NAMEON Customer (Last_Name);
若我们要在 Last_Name 这个栏位上建一个索引,我们就打入以下的指令,
CREATE INDEX IDX_CUSTOMER_LOCATIONON Customer (City, Country);
索引的命名并没有一个固定的方式,
通常会用的方式是在名称前加一个字首,例如 “IDX_” ,来避免与资料库中的其他物件混淆。另外,在索引名之内包括表格名及栏位名也是一个好的方式。
请读者注意,每个资料库会有它本身的CREATE INDEX语法,而不同资料库的语法会有不同。因此,在下指令前,请先由资料库使用手册中确认正确的语法。
Linux实测如下:
篇4:linux之SQL语句简明教程BETWEEN
IN这个指令可以让我们依照一或数个不连续 (discrete) 的值的限制之内抓出数据库中的值,而BETWEEN则是让我们可以运用一个范围 (range) 内抓出数据库中的值,BETWEEN这个子句的语法如下:
SELECT “栏位名”FROM “ 表格名”
WHERE “栏位名” BETWEEN '值一' AND '值二';
这将选出栏位值包含在值一及值二之间的每一笔资料。
举例来说,若我们要由Store_Information表格中找出所有介于 January 6, 及 January 10, 1999 中的资料,
Store_Information表格
Store_NameSalesTxn_DateLos Angeles150005-Jan-1999San Diego25007-Jan-1999San Francisco30008-Jan-1999Boston70008-Jan-1999我们就打入,
SELECT *FROM Store_Information
WHERE Txn_Date BETWEEN 'Jan-06-1999' AND 'Jan-10-1999';
请读者注意:在不同的数据库中,日期的储存法可能会有所不同,
在这里我们选择了其中一种储存法。
结果:
Store_NameSalesTxn_DateSan Diego25007-Jan-1999San Francisco30008-Jan-1999Boston70008-Jan-1999Linux实测结果如下:篇5:linux之SQL语句简明教程ALTERTABLE
在表格被建立在资料库中后,我们常常会发现,这个表格的结构需要有所改变,常见的改变如下:
加一个栏位删去一个栏位改变栏位名称改变栏位的资料种类
以上列出的改变并不是所有可能的改变。ALTER TABLE也可以被用来作其他的改变,例如改变主键定义。
ALTER TABLE的语法如下:
ALTER TABLE “table_name”[改变方式];
[改变方式] 的详细写法会依我们想要达到的目标而有所不同。再以上列出的改变中,[改变方式] 如下:
加一个栏位: ADD “栏位 1” “栏位 1 资料种类”删去一个栏位: DROP “栏位 1”改变栏位名称: CHANGE “原本栏位名” “新栏位名” “新栏位名资料种类”改变栏位的资料种类: MODIFY “栏位 1” “新资料种类”以下我们用在CREATE TABLE一页建出的Customer表格来当作例子:
Customer 表格
栏位名称资料种类First_Namechar(50)Last_Namechar(50)Addresschar(50)Citychar(50)Countrychar(25)Birth_Datedatetime第一,我们要加入一个叫做 “Gender” 的栏位。这可以用以下的指令达成:
ALTER TABLE Customer ADD Gender char(1);这个指令执行后的表格架构是:
Customer 表格
栏位名称资料种类First_Namechar(50)Last_Namechar(50)Addresschar(50)Citychar(50)Countrychar(25)Birth_DatedatetimeGenderchar(1)接下来,我们要把 “Address” 栏位改名为 “Addr”,
这可以用以下的指令达成:
ALTER TABLE Customer CHANGE Address Addr char(50);这个指令执行后的表格架构是:
Customer 表格
栏位名称资料种类First_Namechar(50)Last_Namechar(50)Addrchar(50)Citychar(50)Countrychar(25)Birth_DatedatetimeGenderchar(1)再来,我们要将 “Addr” 栏位的资料种类改为 char(30)。这可以用以下的指令达成:
ALTER TABLE Customer MODIFY Addr char(30);这个指令执行后的表格架构是:
Customer 表格
栏位名称资料种类First_Namechar(50)Last_Namechar(50)Addrchar(30)Citychar(50)Countrychar(25)Birth_DatedatetimeGenderchar(1)最后,我们要删除 “Gender” 栏位。这可以用以下的指令达成:
ALTER TABLE Customer DROP Gender;这个指令执行后的表格架构是:
Customer 表格
栏位名称资料种类First_Namechar(50)Last_Namechar(50)Addrchar(30)Citychar(50)Countrychar(25)Birth_DatedatetimeLinux实测如下:
篇6:linux之SQL语句简明教程ANDOR
在上一页中,我们看到WHERE指令可以被用来由表格中有条件地选取资料, 这个条件可能是简单的 (像上一页的例子),也可能是复杂的。复杂条件是由二或多个简单条件透过AND或是OR的连接而成。一个 SQL 语句中可以有无限多个简单条件的存在。
复杂条件的语法如下:
SELECT “栏位名”FROM “表格名”
WHERE “简单条件”
{[AND|OR] “简单条件”}+;
{}+ 代表{}之内的情况会发生一或多次。在这里的意思就是AND加简单条件及OR加简单条件的情况可以发生一或多次。另外,我们可以用 ( ) 来代表条件的先后次序。
举例来说,我们若要在Store_Information表格中选出所有 Sales 高于 $1,000 或是 Sales 在 $500 及 $275 之间的资料的话,
Store_Information表格
Store_NameSalesTxn_DateLos Angeles150005-Jan-San Diego25007-Jan-1999San Francisco30008-Jan-1999Boston70008-Jan-1999我们就打入,
SELECT Store_NameFROM Store_Information
WHERE Sales >1000
OR (Sales < 500 AND Sales >275);
结果:
Store_NameLos AngelesSan FranciscoLinux实测结果:
篇7:linux之SQL语句简明教程UNION
UNION指令的目的是将两个 SQL 语句的结果合并起来,从这个角度来看,UNION跟 JOIN有些许类似,因为这两个指令都可以由多个表格中撷取资料。UNION的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用UNION这个指令时,我们只会看到不同的资料值 (类似SELECT DISTINCT)。
UNION的语法如下:
[SQL 语句 1]UNION
[SQL 语句 2];
假设我们有以下的两个表格,
Store_Information表格
Store_NameSalesTxn_DateLos Angeles150005-Jan-1999San Diego25007-Jan-1999Los Angeles30008-Jan-1999Boston70008-Jan-1999Internet Sales表格
Txn_DateSales07-Jan-199925010-Jan-199953511-Jan-19993-Jan-1999750而我们要找出来所有有营业额 (Sales) 的日子,
要达到这个目的,我们用以下的 SQL 语句:
SELECT Txn_Date FROM Store_InformationUNION
SELECT Txn_Date FROM Internet_Sales;
结果:
Txn_DateJan-05-1999Jan-07-1999Jan-08-1999Jan-10-1999Jan-11-1999Jan-12-1999有一点值得注意的是,如果我们在任何一个 SQL 语句 (或是两句都一起) 用SELECT DISTINCT Txn_Date的话,那我们会得到完全一样的结果。
Linux实测结果:
1.创建表
2.插入表记录
3.UNION(并)两个表<?www.2cto.com/kf/ware/vc/“ target=”_blank“ class=”keylink“>vcD4KPHA+PGltZyBzcmM9”www.2cto.com/uploadfile/Collfiles/1216/20141216093053141.jpg“ alt=”“>
篇8:linux之SQL语句简明教程ORDERBY
到目前为止,我们已学到如何藉由SELECT及WHERE这两个指令将资料由表格中抓出,不过我们尚未提到这些资料要如何排列。这其实是一个很重要的问题。事实上,我们经常需要能够将抓出的资料做一个有系统的显示。这可能是由小往大 (ascending) 或是由大往小 (descending)。在这种情况下,我们就可以运用ORDER BY这个指令来达到我们的目的。
ORDER BY的语法如下:
SELECT ”栏位名“FROM ”表格名“
[WHERE ”条件“]
ORDER BY ”栏位名“ [ASC, DESC];
[ ] 代表WHERE是一定需要的。不过,如果WHERE子句存在的话,它是在ORDER BY子句之前。ASC代表结果会以由小往大的顺序列出,而DESC代表结果会以由大往小的顺序列出。如果两者皆没有被写出的话,那我们就会用ASC。
我们可以照好几个不同的栏位来排顺序。在这个情况下,ORDER BY子句的语法如下(假设有两个栏位):
ORDER BY ”栏位一“ [ASC, DESC], ”栏位二“ [ASC, DESC]若我们对这两个栏位都选择由小往大的话,那这个子句就会造成结果是依据 ”栏位一“ 由小往大排。若有好几笔资料 ”栏位一“ 的值相等,那这几笔资料就依据 ”栏位二" 由小往大排,
举例来说,若我们要依照 Sales 栏位的由大往小列出Store_Information表格中的资料,
Store_Information表格
Store_NameSalesTxn_DateLos Angeles150005-Jan-San Diego25007-Jan-1999San Francisco30008-Jan-1999Boston70008-Jan-1999我们就打入,
SELECT Store_Name, Sales, Txn_DateFROM Store_Information
ORDER BY Sales DESC;
结果:
Store_NameSalesTxn_DateLos Angeles1500Jan-05-1999Boston700Jan-08-1999San Francisco300Jan-08-1999San Diego250Jan-07-1999在以上的例子中,我们用栏位名来指定排列顺序的依据。除了栏位名外,我们也可以用栏位的顺序 (依据 SQL 句中的顺序)。在SELECT后的第一个栏位为 1,第二个栏位为 2,以此类推。在上面这个例子中,我们打以下这一句 SQL 可以达到完全一样的效果:
SELECT Store_Name, Sales, Txn_DateFROM Store_Information
ORDER BY 2 DESC;
Linux实测如下:
篇9:linux之SQL语句简明教程UNIONALL
UNION ALL这个指令的目的也是要将两个 SQL 语句的结果合并在一起,UNION ALL和UNION不同之处在于UNION ALL会将每一笔符合条件的资料都列出来,无论资料值有无重复。
UNION ALL的语法如下:
[SQL 语句 1]
UNION ALL
[SQL 语句 2];
我们用和上一页同样的例子来显示出UNION ALL和UNION的不同。同样假设我们有以下两个表格,
Store_Information表格
Store_NameSalesTxn_DateLos Angeles150005-Jan-1999San Diego25007-Jan-1999Los Angeles30008-Jan-1999Boston70008-Jan-1999Internet Sales表格
Txn_DateSales07-Jan-199925010-Jan-199953511-Jan-199932012-Jan-1999750而我们要找出有店面营业额以及网络营业额的日子,
要达到这个目的,我们用以下的 SQL 语句:
SELECT Txn_Date FROM Store_InformationUNION ALL
SELECT Txn_Date FROM Internet_Sales;
结果:
Txn_DateJan-05-1999Jan-07-1999Jan-08-1999Jan-08-1999Jan-07-1999Jan-10-1999Jan-11-1999Jan-12-1999Linux实测如下:
★ php实习报告
★ 如何恢复MYSQL实体文件MYI,MYD到数据库中数据库教程
【linux之SQL语句简明教程DROPTRUNCATE(精选9篇)】相关文章:
软件需求分析面试自我介绍2022-05-06
对于跨不同服务器的sql脚本执行语言的摘要数据库教程2023-08-05
Listen Software解决方案 “How To” 系列2:存储过程数据库教程2023-08-07
优化其索引的小技巧数据库教程2022-12-31
窗体动态效果的实现数据库教程2022-08-15
存储过程实现分页2022-05-03
高中英语求职信范文3篇2023-02-11
面试的个人职业生涯规划2023-02-20
SQL Server SQL语句调优技巧综合教程2022-05-17
高中英语求职信模板三篇2022-05-06