设为首页 加入收藏

TOP

常见的SQL语法(一)
2015-11-21 01:49:45 来源: 作者: 【 】 浏览:0
Tags:常见 SQL 语法

一:SQL简介:

?

SQL语句是对所有的关系型数据库的通用命令语句,而JDBC API只是执行SQL语句的一个工具。当然每种数据库也为了实现特有功能有自己特殊的语句,但是为了实现跨平台我们应该减少特定功能的SQL。

二:常见的SQL语法:(演示使用SQLyogtu)

?

1:创建一个新的数据库:

CREATE DATABASE IF NOT EXISTS databaseName;

?

2:删除一个已有的数据库:

DROP DATABASE databaseName;

?

3:使用一个已有的数据库:

USE databaseName;

?

4:查看数据库中包含多少个数据表:

SHOW TABLES;

?

5:显示表结构(多少列,每一列的数据类型信息等):

DESC databaseName;

?

6:创建一个和当前表一样的表;

6.1:依照当前表创建一个一样的表(包括字段和数据)

CREADTE TABLE tableName

AS

SELECT * FROM tableName;

6.2:创建一个和当前一样的表(仅仅包含字段)

CREATE TABLE tablename

LIKE

oldtable;

?

6.3:创建一个表和当前表一样且不包含数据:

CREATE TABLE tablename

AS

SELECT col1,col2.... FROM oldtabel

DEFINITION ONLY;

?

7:修改表:

ALTER TABLE tableName;

?

7.1:更新表插入行:

ALTER TABLE test

ADD

(

aaa varchar(255)default ‘test’,

bbb varchar(255)

);

?

7.2修改某列的数据类型:

ALTER TABLE test

MODIFY bbb int; //将bbb的数据类型改为Int

?

8:删除某一列:

ALTER TABLE tableName

DROP aaa; //将指定tableName中aaa列删除掉

?

9:重命名表名:

ALTER TABLE tabelName

Rename to newName;

?

10:TURNCATE表;

删除表中的所有数据但是保留表结构,其效率高于delete且一次性删除所有的数据。(注意只删除数据)

TURNCATE TABLE tableName;

11:表中字段约束关键字:

NOT NULL :非空约定

UNIQUE :唯一约束 指定列中不能出现重复值

PRIMARY KER : 主键 唯一标示符

FOREIGN KEY : 外键 构建标间的完整映射

?

约束可以在建表时进行也可以在建表后更新。

?

12;索引:

索引的作用好比目录的作用即都是为了加快查询速度。正如我们阅读书是根据要查的知识点来查询,所以索引也是依托在数据表的某一列或者某几列上来进行的。索引虽然是单独存放但是不能单独存在。索引的好处是加快查询速度但是也会带来额外的系统开销和内存开销。

?

12.1:创建索引:

CREATE INDEX index_name

ON table_name(column….) 可以建立在任意个数据列上

?

DROP INDEX index_name

ON table_name;

?

13:视图:视图不是数据表只是一个或多个数据表中的逻辑显示及查询结果。其本质就是一条被命名的SQL语句。

13.1:创建

CREAT OR REPLACE VIEW view_name

AS

SQL;

13.2:删除:

DROP VIEW view_name;

?

14:插入操作:

1.INSERT INTO 语句

Example:

INERT INTO table_name(column1,column2,…)VALUES(values1,values2…);

?

2.子查询的值进行插入:

INSERT INTO student(student_name)

SELECT teacher_name FROM teacher; (只需保证数据个数和数据类型一致即可)

?

15:UPDATE 更新语句:

UPDATE table_name

SET column1= values,column=values

WHERE condition;

?

16:DELETE FROM: 删除语句:

DELETE FROM table_name

WHERE condition;

17:几个简单的SQL语句:

选择:SELECT * FORM table1 WHERE 范围


插入: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%’



排序:SELET * FORM table1 ORDER BY field1,field2 [DESC](DESC表示倒序,ASC表示升序)


总数: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

18:几个高级运算符:

A: UNION 运算符

  UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。


B: EXCEPT 运算符


  EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。

C: INTERSECT 运算符


  INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。

  注:使用运算词的几个查询结果行必须是一致的。

19:外链接:

内连接。(典型的连接运算,使用像 = 或 <> 之类的比较运算符)。包括相等连接和自然连接。
内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students 和 courses 表中学生标识号相同的所有行。

外连接。外连接可以是左向外连接、右向外连接或完整外部连接。
在FROM子句中指定外连接时,可以由下列几组关键字中的一组指定:
LEFT JOIN 或 LEFT OUTER JOIN。
左向外连接的结果集包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
RIGHT JOIN 或 RIGHT OUTER JOIN。
右向外连接是左向外连接的反向连接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

FULL JOIN

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数据库之CaseWhen 下一篇SQL_substr函数实验

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: