sql的命令
1. sql基本命令都是什麼含義,求列表解釋
--SQL基本命令
--數據定義語言
Create(創建)
Alter(更改)
Drop(刪除)
--數據操縱語言
Insert(插入)
select(選擇)
delete(刪除)
update(更新)
--事務控制語言
commit(提交)
savepoint(保存點)
rollback(回滾)
--數據控制語言
Grant(授權)
Revoke(回收)
--Orcale數據類型
--字元數據類型
char這種數據類型的列長度可以是1到2000個位元組。
varchar2該數據類型的大小在1-4000個位元組范圍內
long這種數據類型可存儲最大2GB。
--數值數據類型
number數據類型可以存儲正數、負數、零、定點數和精度為38位的浮點數。
--日期時間數據類型
date數據類型使用七個位元組固定長度,每個位元組分別存儲世紀、年、月、日、小時、分和秒。從4712年1月1日到公元9999年12月13日。
Timestamp數據類型用於存儲日期的年、月、日以及時間的小時、分和秒值。秒值是精確到小數點後6位。該數據類型還包括了時區信息。
--Raw和LongRaw數據類型
Raw數據類型
Raw數據類型用於存儲基於位元組的數據。如二進制數據或位元組串,該數據類型最多能存儲2000個位元組。
LongRaw數據類型用於存儲可變長度的二進制數據,最多能存儲2GB。(該數據不能使用索引,long受到的所有限制對longraw數據類型同樣有效)
--LOB數據類型
Clob數據類型能夠存儲大量字元數據。該數據類型可以存儲單位元組數據和多位元組字元數據。clob可用於存儲非結構化的XML文檔。
Blob數據類型可以存儲較大的二進制對象,如圖形、視頻剪輯和聲音剪輯等。
Bfile數據類型能夠將二進制文件存儲二進制文件存儲在資料庫外部的操作系統文件中。Bfile列存存儲一個Bfile定位器。它指向位於伺服器文件系統上的二進制文件。支持的文件最大為4GB。
--查看指定偽列用戶(scott)
select rowid,ename,comm from emp where sal=1500
--查看偽列數
select * from emp where rownum<2
--數據定義語言
create table (需要創建的表)
alter table (需要更改的表)
truncate table (需要截斷的表)
drop table (需要刪除的表)
--create table保命令
create table [所有者即模式的名稱,如果用戶在自己的模式中創建表,則可以不指定所有者名稱。][需要創建的表名]
([列的名稱] [數據類型及長度]);
--例子(在當前用戶下創建了一張名為(Cool)的表,里有有三個列分別是:Cool_ID、Cool_Name、Cool_like):
create table Cool(
Cool_ID number,
Cool_Name varchar(20),
Cool_like varchar(30));
--在表中插入數據
insert into Cool values(8850,'酷兒','編寫Java應用程序');
insert into Cool values(8851,'酷兒','編寫Java應用程序1');
insert into Cool values(8852,'酷兒','編寫Java應用程序2');
insert into Cool values(8853,'酷兒','編寫Java應用程序3');
insert into Cool values(8854,'酷兒','編寫Java應用程序4');
insert into Cool values(8856,'酷兒','編寫Java應用程序5');
insert into Cool values(8855,'酷兒','編寫Java應用程序6');
--alter table命令
alter table [需要更改的表命稱] [模式(modify=更改,add=添加,drop=刪除)] (表中的列名)
--例子
--更改表中Cool_like列數據長度更改為15
alter table cool modify (cool_name varchar(15));
--插入數據進行測試第一條數據可以順利插入到列中,而第二條數據則不能插入列數,應為它的長度己超過了15個字元。(執行結果為:Error位於第一行:ora-01401:插入數據值對於列過大);
insert into Cool values(8855,'酷兒Test','編寫Java應用程序、游戲等等。');
insert into Cool values(8855,'測試用戶名,此列長度將超過15個字元。','編寫Java應用程序、游戲等等。');
--在表中添加一個列,在表中添加一個Cool_Tel來存儲電話號碼。
alter table Cool add (Cool_Tel varchar(12));
insert into Cool values(8856,'酷兒8856','編寫Java應用程序','13529424360');
--在表中刪除Cool_Tel列;
alter table cool drop column cool_tel;
--Truncate table命令
--刪除表中的記錄而不刪除列,此方法不能回滾因為它不使用事務處理。(優點:刪除速度快)
truncate table cool;(執行結果:表己截斷)
--desc查看cool表的結構
desc cool;
--drop table命令
--刪除Cool表。此方法可以使用事務回滾。
drop table cool;
--數據操縱語言
--選擇命令(Select)
select * from emp;(查詢表中所有數據)
select * from emp where ename='adams';(按條件查詢表中數據)
select distinct * from emp;(不選擇表中的重復行,使用distinct關鍵字);
select * from cool where cool_name='酷兒' order by cool_id asc;(按Coo_ID進行升序排序)
select * from cool where cool_name='酷兒' order by cool_id desc;(按Coo_ID進行降序排序)
create table CoolDemo as select * from cool;(用現有表Cool創建一個新表,數據包括在select語包里,可以是所有,也可以是指定的列)
create table CoolDemo2 as select * from cool where 1 = 2;(此條件不成立,所有隻創建了表結構,沒有數據)
select cool_id+10 sum ,cool_name from cool;(此條語句使用了別名sum並且是cool_id+10語後的值,但原始值不會改變。)
--插入命令(Insert)
insert into cool values(8857,'酷兒','編寫Java應用程序');(在Cool表中插入數據)
insert into cool(cool_name,cool_like) values('酷兒','編寫Java應用程序null');(只插入姓名列(cool_name)和愛好列(cool_like)的值)
insert into cool values(8858,'酷兒',null);(在cool表中跳過了cool_like列,使用空值來填充)
alter table cool add(cool_date date);(在表中添加一個日期列,以便下面插入日期值)
insert into cool values(8859,'酷兒','編寫Java應用程序8859','22-11月-06');(此條語句在Cool表中cool_date列插入了2006年11月12日的日期)
insert into cool select * from cooldemo;(此條語句插入了來自期它表的數據)
--更新命令(Update)
update cool set cool_name='酷兒至酷' where cool_name='酷兒';(如果cool_name列的值等於(酷兒)那麼就將它更改為(酷兒至酷),這是有條件的查詢)
update cool set cool_name='酷兒';(此條語句將cool_name列的所有值更改為(酷兒))
--刪除命令(delete)
delete cool where cool_like='編寫Java應用程序null';(如果cool表中cool_like列值等於(編寫Java應用程序null)就刪除它)
--提交命令(Commit)
commit;(提交事務)
commit work;(功能同上)
--標記命令(SavePoint)
savepoint savepoint_id;(它用來標記事務中可以應用回滾的點。)
--回滾事務(RollBack)
rollback;
rollback work;
rollback to savepoint [自己標記的記錄點];
--數據控制語言
--授權命令(Grant)
Grant [操作許可權如:select,update,delete等] on [表名稱] to [用戶名]
grant select,update,delete on cool to hedong911;(此條語句授權給用戶hedong911查詢、更新、刪除cool表的權力)
grant update(cool_id,cool_name) on cool to hedong911;(此條語句授權給用戶hedong911更新cool表(cool_id,cool_name)列權力)
grant select on cool to hedong911 with grant option;(此語句授權的用戶hedong911可以給其它用戶授權)
--回收授權命令(revoke)
revoke select,update,delete on cool to hedong911;(此條語句回收了hedong911的查詢、更新、刪除權力)
--算術操作符
(跳過)
--比較操作符
--比較操作符包括(=、!=、<、>、<=、>=、between……and(檢查是否在兩個值之間)、in(與列表中的值相匹配)、like(匹配字元模式)和is null(檢查是否為空),最後四個操作符還可以和not(非)一起使用如:not between……and等
select * from cool where cool_name!='1';
select * from cool where cool_name like '酷兒';
select * from cool where cool_id < 8853;
select * from cool where cool_id > 8853;
select * from cool where cool_id <= 8853;
select * from cool where cool_id >= 8853;
select * from cool where cool_like in ('編寫Java應用程序');
--邏輯操作符
--邏輯操作符包括and(與)、or(或)和now(非);
select * from cool where cool_id <=8856 and cool_id >= 8853;
select * from cool where cool_id =9999 or cool_like in ('編寫Java應用程序');
--集合操作符
--聯合查詢(union)
select * from cool union select * from cooldemo;(此條語句將Cool和CoolDemo兩張表的查詢結果合拼,並刪除重復行)
--聯合所有查詢(union all)
select * from cool union all select * from cooldemo;(此條語句將Cool和CoolDemo兩張表的查詢結果合拼,不刪除重復行)
--交集查詢(intersect)
select * from cool intersect select * from cooldemo;(此條語句查詢兩張表都有的行)
--減集查詢(minus)
select * from cool minus select * from cooldemo;(此條語句返回第二張表沒有的數據)
--連接(||)操作符
select ('用戶編號:'||cool_id||'姓名是:'||cool_name||'愛好是:'||cool_like||'日期是:'||cool_date) from cool where cool_id=8859;(運行結果:用戶編號:8859姓名是:酷兒愛好是:編寫Java應用程序8859日期是:22-11月-06)
2. 資料庫的命令都有哪些
1、顯示當前存在的資料庫 mysql> show databases;
2、選擇資料庫 mysql> USE mysql Database changed (USE 和 QUIT 命令不需要分號結束。),顯示當前選擇的資料庫 mysql> select database();
3、顯示當前資料庫中存在的表 mysql> SHOW TABLES;
4、顯示表(db)的內容 mysql>select * from db;
5、命令的取消 當命令輸入錯誤而又無法改變(多行語句情形)時,只要在分號出現前就可以用 c來取消該條命令 mysql> select -> user() -> c
6、創建一個資料庫abccs mysql> CREATE DATABASE abccs;
7、選擇你所創建的資料庫 mysql> USE abccs Database changed;
8、創建一個資料庫表 首先看現在你的資料庫中存在什麼表: mysql> SHOW TABLES; Empty set (0.00 sec) 說明剛才建立的資料庫中還沒有資料庫表。下面來創建一個資料庫表mytable: 我們要建立一個你公司員工的生日表,表的內容包含員工姓名、性別、出生日期、出生城市。 mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20));
9、顯示表的結構: mysql> DESCRIBE mytable;
10、 往表中加入記錄 我們先用SELECT命令來查看錶中的數據: mysql> select * from mytable; Empty set (0.00 sec) 這說明剛才創建的表還沒有記錄。 加入一條新記錄: mysql> insert into mytable values ('abccs','f','1977-07-07','china');
11、用文本方式將數據裝入一個資料庫表 如果一條一條地輸入,很麻煩。我們可以用文本文件的方式將所有記錄加入你的資料庫表中。 創建一個文本文件「mysql.txt」,每行包含一個記錄,用定位符(tab)把值分開,並且以在 CREATE TABLE語句中列出的列次序給出,例如: abccs f 1977-07-07 china mary f 1978-12-12 usa tom m 1970-09-02 usa 使用下面命令將文本文件「mytable.txt」裝載到mytable表中: mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; 再使用如下命令看看是否已將數據輸入到資料庫表中: mysql> select * from mytable;
12、從資料庫表中檢索信息 select語句格式一般為: SELECT 檢索關鍵詞 FROM 被檢索的表 WHERE 檢索條件
13、查詢所有數據: mysql> select * from mytable;
14、修正錯誤記錄: 假如tom的出生日期有錯誤,應該是1973-09-02,則可以用update語句來修正: mysql> update mytable set birth = "1973-09-02" where name = "tom";
15、 選擇特定列 假如你想查看錶中的所有人的姓名,則可以這樣操作: mysql> SELECT name FROM mytable; 如果想列出姓名和性別兩列,則可以用逗號將關鍵詞name和birth分開: myaql> select name,birth from mytable;
16、對行進行排序 我們可以對表中的記錄按生日大小進行排序: mysql> SELECT name, birth FROM mytable ORDER BY birth; 我們可以用DESC來進行逆序排序: mysql> SELECT name, birth FROM mytable ORDER BY birth DESC;
17、 行計數 資料庫經常要統計一些數據,如表中員工的數目,我們就要用到行計數函數COUNT()。 COUNT()函數用於對非NULL結果的記錄進行計數: mysql> SELECT COUNT(*) FROM mytable; 員工中男女數量: mysql> SELECT sex, COUNT(*) FROM mytable GROUP BY sex;
18、多表查詢 現在我們有了兩個表: mytable 和 title。利用這兩個表我們可以進行組合查詢: 例如我們要查詢作者abccs的姓名、性別、文章: mysql> SELECT name,sex,title FROM mytable,title WHERE name=writer AND name='abccs'; 用於查詢文章a2的作者、出生地和出生日期: mysql> select title,writer,birthaddr,birth from mytable,title -> where mytable.name=title.writer and title='a2';
19、增加一列: 如在前面例子中的mytable表中增加一列表示是否單身single: mysql> alter table mytable add column single char(1);
20、修改記錄 將abccs的single記錄修改為「y」: mysql> update mytable set single='y' where name='abccs';
21、增加記錄 前面已經講過如何增加一條記錄,為便於查看,重復與此: mysql> insert into mytable values ('abc','f','1966-08-17','china','n');
22、刪除記錄 用如下命令刪除表中的一條記錄: mysql> delete from mytable where name='abc'; DELETE從表中刪除滿足由where給出的條件的一條記錄。
23、刪除表: mysql> drop table ****(表1的名字),***表2的名字; 可以刪除一個或多個表,小心使用。
24、資料庫的刪除: mysql> drop database
3. SQL資料庫常用命令及語法舉例
下面是一些常用的SQL語句,雖然很基礎,可是卻很值得收藏,對於初學者非常實用
4. sql有哪些基本命令
1、 查看資料庫中的表或查詢資料庫;
show tables/databases;
2、 查看資料庫中所有的表:
show tables;(前提是使用use database 資料庫;)
3、 查看數據表結構
describe 表名;
4、 創建資料庫
CARATE DATABASE 資料庫名;
create database studentoa;
5、 刪除資料庫
DROP DATABASE 資料庫名;
Drop database studentoa;
6、 使用資料庫
use 資料庫名;
use studentoa;
7、 創建數據表
CREATE TABLE 表名 ( 列名 數據類型, 列名 數據類型, 列名 數據類型 ); create table information ( id int primary key, name nvarchar(10) not null, age int, sex nvarchar(6) )
8、 刪除數據表中的列
ALTER TABLE 表名 DROP COLUMN 列名;
alter table information drop column sex;
9、 增加數據表中的列
ALTER TABLE 表名
ADD 列名 數據類型;
Alter table information add home varchar(20);
10、 數據表中添加數據
INSERT INTO 表名[(列名,列名,列名)] VALUES (值,值,值);
insert into information(id,name,age,home) values (001,』張三』,23,』黑龍江』);
insert into information values(002,』李四』,25,』沈陽』);
insert into information(id,name,home) values(003,』趙六』,』吉林』);
5. SQL語言的核心6個命令分別是什麼
SELECT / UPDATE / DELETE / CREATE / ALTER / DROP
6. 綆榪癝QL璇鍙ョ殑鍛戒護鍔ㄨ瘝鍜屽叿浣撳姛鑳
綆榪癝QL璇鍙ョ殑鍛戒護鍔ㄨ瘝鍜屽叿浣撳姛鑳
鏁版嵁鏌ヨ錛歋ELECT 錛堟煡璇㈠嚭鏁版嵁錛屼篃鍙鐢ㄤ簬鍙橀噺璧嬪礆級
鏁版嵁瀹氫箟(琛/瑙嗗浘/鏌ヨ/瀛樺偍榪囩▼/鑷瀹氫箟鍑芥暟/緔㈠紩/瑙﹀彂鍣ㄧ瓑)錛欳REATE (鍒涘緩)銆丏ROP(鍒犻櫎)銆丄LTER(淇鏀)
鏁版嵁鎿嶄綔錛欼NSERT錛堟彃鍏ワ級銆乁PDATE錛堟洿鏂幫級銆丏ELETE錛堝垹闄わ級
鏁版嵁鎺у埗錛欸rant錛堟巿鏉冿級銆乺evoke錛堝洖鏀舵潈闄愶級
7. 在SQL中,建立、修改和刪除資料庫中基本表結構的命令分別為________、________和________命令。
在SQL中,建立、修改和刪除資料庫中基本表結構的命令分別為INSERT、UPDATE和DELETE命令。添加、修改和刪除命令是屬於結構化查詢語言的數據操作語言,用戶通過它可以實現對資料庫的基本操作。
INSERT是在指定記錄前添加記錄,把數據插入到資料庫中指定的位置上去。UPDATE是修改記錄或資料庫模式,或在原有數據的基礎上, 產生新的關系模式和記錄。DELETE命令是刪除資料庫中不必再繼續保留的一組記錄,DELETE 對資料庫中記錄作刪除標志。
(7)sql的命令擴展閱讀:
SQL的語言特點:
1、SQL可以獨立完成資料庫生命周期中的全部活動,包括定義關系模式、錄人數據、建立資料庫、查詢、更新、維護、資料庫重構、資料庫安全性控制等一系列操作,這就為資料庫應用系統開發提供了良好的環境,在資料庫投入運行後,還可根據需要隨時逐步修改模式。
2、高度非過程化。用SQL進行數據操作,用戶無須了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統自動完成。這不但大大減輕了用戶負擔,而且有利於提高數據獨立性。
3、面向集合的操作方式。不僅查找結果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。
4、以同一種語法結構提供兩種使用方式。SQL既是自含式語言,又是嵌入式語言。作為自含式語言,它能夠獨立地用於聯機交互的使用方式,用戶可以在終端鍵盤上直接輸入SQL命令對資料庫進行操作。