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命令对数据库进行操作。