论坛首页 编程语言技术论坛

《阿勇java建站教程》2.2-T-SQL

浏览 2452 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-10-02  

2.2-SQL
大家好,我是阿勇。感谢大家阅读这篇文章,并且希望大家能将《阿勇java建站教程》全部看完!
在上一节中我向大家介绍了数据库,本节内容说的是和数据库息息相关的一门语言,就是SQL。
SQL语言是结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
上文中我说过:数据库也是一种软件。那么这种软件和我们日常接触到的软件有什么不同呢?SQL又是干什么用的呢?数据库会对外提供一个管理工具,有的时候非常简单,就是一个控制台,有时为了方便操作也会提供功能丰富的桌面应用程序。如下图便是MySQL Query Tool:MySQL数据库查询工具
《阿勇java建站教程》2.2-T-SQL

数据库是对数据保存、管理的软件,SQL就是用来干这些事的。SQL的功能很强大,可以管理数据库,操作数据库,优化数据库等等,在不同的数据库软件中SQL的版本和语法也存在着一定的差异。本节内容介绍的主要是针对软件开发过程中运用到的SQL语言。

在数据库中,数据保存在具体的表中,表保存在某个库中,具体的关系如下图:

                     |-1表
            |-a库+-2表
            |        |-3表
            |
            |          |-4表
数据库+-b库+-5表
            |          |-6表
            |
            |-c库...
            |
            .
            .
            .


每张表的结构是如下图举例:
《阿勇java建站教程》2.2-T-SQL

《阿勇java建站教程》2.2-T-SQL

每张表有不同的字段,每个字段规定好数据类型,表中包含主外键等信息。

 

接下来介绍一些常用sql语句,及软件开发中的业务逻辑:

1、创建数据库
CREATE DATABASE database-name
2、删除数据库
drop database dbname
3、创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
4、删除新表
drop table tabname 
5、增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
6、添加主键: Alter table tabname add primary key(col) 
说明:删除主键: Alter table tabname drop primary key(col) 
7、创建索引:create [unique] index idxname on tabname(col….) 
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
8、创建视图:create view viewname as select statement 
删除视图:drop view viewname

9、*说明:数据库的设计一般比代码编写要早,如上8种sql语句实际开发中也较少使用,不过有一种情况就是所开发的软件包括了建库建表,对表结构进行修改的功能,这样的软件多针对不同的数据库开发,如opencms。

10、几个简单的基本的sql语句
选择:select * from table1 where 条件(如:field1=100)
*说明:查询语句就是从数据库表中查询符合条件的记录,使用频率最高,另外,软件的用户登录功能就是在这基础之上实现的,思路是: 用户注册了之后,在数据库表中会保存该用户的登录信息(帐号、密码),通过登录时用户输入的登录信息在数据库中查询是否有满足该登录信息的记录,有则运行用户登录,无则拒绝登录。

插入:insert into table1(field1,field2) values(value1,value2)
*说明:软件保存信息到数据库中,如用户注册、发布评论、发布文章等。


删除:delete from table1 where 条件
*说明:从数据库中删除符合条件的记录,实际开发中为了保存用户的历史数据,会有意的添加“虚删除”功能,这就用到了更新语句。

更新:update table1 set field1=value1 where 条件
*说明:软件更新数据库中的数据如:更新用户资料、更新题库、更新部门信息等等。“虚删除”的思路:在表结构中添加一个删除标识比如该字段的值为100时则说明该记录未被删除,值为300时则表示该记录被删除,查询时应注意这样的附加条件。

11、在业务逻辑中,经常会使用到各种各样的查询sql,也正是因此,sql提供了强大的内置函数供查询使用,如下列举了一些经常使用的查询方式:
查找: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

除此之外,查询还有多表查询,子查询,联合查询等不同的形式,在此希望读者做个有心人,多多自学。

数据库像编程语言一样是基本功,在公司的招聘启示中同样对数据库技能有所要求,希望读者对数据库使用引起足够重视,下节我将会告诉你一些数据库的“特殊”用处。

本文原创写的不好的地方欢迎大家与我一起交流(微信号:zhyy22145),转载请注明出处!-《阿勇java建站教程》2.2-T-SQL

《阿勇java建站教程》统一交流团

 

 

http://www.ya178.com/public/detailUA-11883-1.html

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics