数据库学习之简单的SQL语句,数据库sql语句
1、数据库的结构
1.1数据库
不同数据库叫做Catalog(在有的 DBMS 中也称为 Database,即数据库) 。采用多 Catalog 以后可以给我们带
来如下好处:
便于对各个 Catalog 进行个性化管理。 DBMS 都允许我们指定将不同的 Catalog 保存在不
同的磁盘上, 由于人力资源数据相对次要一些, 因此我们可以将 HR 保存在普通硬盘上,
而将 BIZ 保存在 RAID 硬盘上。 我们还可以对每个 Catalog 所能占据的最大磁盘空间、日
志大小甚至优先级进行指定,这样就可以针对不同的业务数据进行个性化定制了。
避免了命名冲突。同一个 Catalog 中的表名是不允许重复的,而不同 Catalog 中的表名
则是可以重复的,这样 HR 中可以有 Persons 表,而 BIZ 中也可以有 Persons 表,二者结
构可以完全不相同,保存的数据也不会互相干扰。
安全性更高。DBMS 允许为不同的 Catalog 指定不同的用户,并且可以限定用户能访问
的 Catalog。比如用户 hr123 只能访问 HR,而用户 sales001 只能访问 BIZ。这就大大加
强了系统数据的安全性。
1.2表
解决这个问题的方法就是将不同类型的资料放到不同的 “区域” 中,我们将这种区域叫做 “表”( T able)。
1.2.1列字段
1.2.2记录
2数据的增删改
2.1建表语句
(1)CREA TE T ABLE T_Person (FName VARCHAR(20),FAge INT ,FRemark VARCHAR(20),PRI MARY
KEY (FName));
(2)CREA TE T ABLE T_Debt (FNumber V ARCHAR(20),FAmount DECIMAL(10,2) NOT NULL,
FPerson VARCHAR(20),PRIMARY KEY (FNumber),
FOREIGN KEY (FPerson) REFERENCES T_Person(FName)) ;
2.2数据的插入
2.2.1简单的 INSERT 语句
INSERT INTO T_Person(FName,FAge,FRemark) VALUES('T om',18,'USA')
需要注意的是 V ALUES 前列出的字段名和 VALUES 后边列出的字段值是按顺序一一对应的。
2.2.2简化的 INSERT 语句
INSERT 语句中也并不需要我们指定表中的所有列,比如在插入数据的时候某些字段没
有值,我们可以忽略这些字段。下面我们插入一条没有备注信息的数据:
INSERT INTO T_Person(FAge,FName) VALUES(22,'LXF')。
INSERT 语句还有另一种用法,可以不用指定要插入的表列,这种情况下将按照定义表
中字段顺序来进行插入,我们执行下面的 SQL:
INSERT INTO T_Person VALUES('luren1',23,'China')。
2.2.3非空约束对数据插入的影响
正如“非空约束” 表达的意思, 如果对一个字段添加了非空约束, 那么我们是不能向这
个字段中插入 NULL 值的。T_Debt 表的 F Amount 字段是有非空约束的,如果我们执行下面
SQL:
INSERTINTO T_Debt (FNumber , FPerson) V ALUES ('1', 'Jim') 。
2.2.4主键对数据插入的影响
主键是在同一张表中必须是唯一的, 如果在进行数据插入的时候指定的主键与表中已有
的数据重复的话则会导致违反主键约束的异常。
2.2.5外键对数据插入的影响
外键是指向另一个表中已有数据的约束, 因此外键值必须是在目标表中存在的。 如果插
入的数据在目标表中不存在的话则会导致违反外键约束异常。
2.3 数据的更新
2.3.1简单的数据更新
UPDATE 语句用来对数据表中的数据进行更新。UPDATE T_Person SET FRemark = 'SuperMan' 。
UPDATE T_PersonSET FRemark = 'Sonic', FAge=25 。
2.3.2带 WHERE 子句的 UPDATE 语句
UPDATE T_Person SET FAge = 12 WHERE FNAME='T om' 。
UPDATE T_Person SET FAge = 22 WHERE FName='jim' OR FName='LXF' 。
2.3.2主键对数据更新的影响
主键是在同一张表中必须是唯一的, 如果在进行数据更新的时候指定的主键与表中已有
的数据重复的话则会导致违反主键约束的异常。
2.3.3外键对数据更新的影响
外键是指向另一个表中已有数据的约束, 因此外键值必须是在目标表中存在的。 如果更
新后的数据在目标表中不存在的话则会导致违反外键约束异常。
2.4数据的删除
数据库中的数据一般都有一定的生命周期,当数据不再需要的时候我们就要将其删除,
执行 DELETE 语句就可以将数据从表中删除。不过需要注意的就是如果被删除的数据行是某
个外键关联关系中的被引用数据的话, 则进行删除的时候会失败, 如果要删除成功则必须首
先删除引用者才可以。
2.4.1简单的数据删除
DELETE FROM T_Debt; DELETE FROM T_Person;
不过 DELETE 语句仅仅是删除表中的数据行, 而表的结构还存在, 而 DROP T ABLE 语句则不仅将表中的数据行全部删除,而且还将表的结构也删除。DELETE 语句也提供了 WHERE 语句进行数据的过滤,这样只有符合过滤条件的数据行才会被删除。
2.4.2带 WHERE 子句的 DELETE 语句
DELETE FROM T_Person WHERE FAge > 20 or FRemark = 'Mars' 。
DROP TABLE T_Debt;
DROP TABLE T_Person;
数据库技术应该电脑技术比较核心的一种,不仅操作系统,而且数据存储都要用的。
学习数据库可以自己参与到一个项目,或者去实际操作数据库,这样提高的快些。
目前来说,桌面的小型数据库有Foxpro不错,用的最多的是SQL Server2000,大型的有Oracle等等。
推荐你可以学习SQL Server2000,比较简单。
编程是一门说难就难,说简单就简单的东西,如果要问从什么入手,我觉的还是先学[C语言],先要对如何编程有一个概念,然后学习数据库,可以学学[ASSECC]或是[SQL],这两个都是简单的数据库,在后面学[HTML]和[ASP](里面可以理解的去学习[VBscript]和[JAVAscript]两个脚本语言),有了这几门语言做基础,就可以学习难一点的东西了。学习C++的面向对象概念,当自己认为对面向对象里面的三大特性{派生类与继承;多态性;...(第3个有点忘记,好象是封装,或者是把派生和继承分开,总之3大特性.....)}掌握的能够在自己编程的时候能够理解能够灵活运用就可以学习[JAVA]了,可能你原来听说过[JAVA],[C++]是简单的面向对象,[JAVA]就好象是[C++]和[C语言]的综合,[JAVA]是基本上全部面向对象概念,但里面的编程结构:如--循环;判断则是C语言的机制。
上面学完了,就可以更深一步了,有了[JAVA]的学习,就可以学习[J2EE]了,还可以学[ASP.NET]......
可能你看到我的回复以后觉的要学这么多东西有点太BT了,我和你说的这个学习顺序完全是一个专业计算机编程学校的授课顺序,而且脱产班只要1年......说的俗点,如果你是这个方面的“虫子”,你会做到的。
最后说一句:“加油~~~~!!!”。
数据库语言:Select, Delete, Isnert Into,Update。最常用就是这四个。
如何掌握呢?
先在机器上安装Sql 2005吧。
安装完成后,在这里:
www.w3school.com.cn/sql/index.asp跟着这个教程,一步步的看看,每一句都敲一遍。然后在看看sql的原理。应该就差不多了。至少应该知道“树”