数据库的简单学习

数据库基本对象:

1.表(Table):

  sql中一个关系对应一个表。关系就是表中数据之间存在联系。从直观的角度看就是一个人二维的填有数据的表格。

  表得一行称为一个记录,一列称为一个字段。

2.视图(VIEW):

  视图是一个或多个表导出的,外观和表类似。但又和表有所不同,表里面存储数据,而视图本身不存储数据,视图里的数据仍然存放在表中

  ,数据库里面存放的视图的定义。视图可以从一个或多个表中导出,也可以是从一个或多个视图中导出,视图和表都对应着关系。

3.索引:(INDEX)

  索引是用来快速访问表的,通过索引不必扫面整张表就能够查询到数据,优化了查询的速度。一个表可以有若干个索引。

4.主键:(PRIMARY KEY)

  表中的数据必须具有唯一性,这样才能确保找到表中的记录。一个记录就是表中的一行数据。主键的作用就是确保这种唯一性。一个表一般都与要定义一个主键,但不是强制的。

5.外键:(FOREIGN KEY)

  如果有2个表,这两个表的主键是一样的,那这两个表之间就可以通过主键建立起关系。就可以在两个表之间查询数据,一个表的主键相对于另一个表就是外键

简单SQL语言

 

  sql语言包括3总主要程序设计语言类别的称述:

  1.数据定义语言(DLL)

  2.数据操作语言(DML)

  3.数据控制语言(DCL)

 Sql语言包括以下4个部分

(1)定义语言 如Create,Drop,Altler......

  (2) 操作语言 如insert,update,deletet....

 (3) 查询语言 如select

 (4) 控制语言 如 Grant  ,  revoke , Commit , rollback

 

三.创建数据库

1 Create Database MyDbTest
2 当然还有别的参数,这里是罪简单的建立语句
View Code

还是指定以下创建位置吧

Create DataBase Student
NO
(
 Name='Student2',
FileName='F:\DB\学生信息'   
)

有创建就有删除

语法 Drop DataBase 数据库名

 1 Drop DataBase Student 

 

三.1

创建表

Create Table Student

(

  字段名 字段数据类型 [可选约束],

  字段名 字段数据类型 [可选约束]

  ......

)

 创建一个学生信息表Student

create table Student
(
    id int,
    username nvarchar(50) not null,--not null表示非空 一般默认的可以为空
    age int
)
View Code

修改表:

Alter table Student

alter column username nvarchar(10) not null 将nvarchar(50)改为nvarchar(10)

 

Alter table Student

add gender nvarchar(50) not null 添加一个字段

 

Alter table Student

drop column gender删除一个字段

 

Alter table Student

add constraint ck_gender check(gender='男' or gender=''女)

添加约束

constraint约束

ck_gender约束名

check后面是约束条件

 

 

删除表

Drop Table 表名

代码就不写了。

后面的insert插入 update修改 Delete删就不说了比较简单

我们重点看看查询  

程序中查询用的比较多,也是最基本的东西。但要用好也是一门艺术。

select 的完整语法虽然比较复杂,但有其主要部分


select 查询列表 [into 新表名]

[from 表名] [where 查询条件]

[group by 分组条件]

[having 搜索条件]

[order by 排序条件[asc|desc]]


 

(1)from 字句返回初始结果集。

(2)where 字句排除不满足条件的行。

(3)group by 将选定的行收集到group by 字句中各个唯一值的组中

(4) 选择列表中指定的聚合函数可以计算各组的汇总值

(5)having 字句排除不满足搜索条件的行

一般的查询语句就不说了,

接下来看看SQL连接查询

 先建2个表

如下:

1.内连接: inner join 内连接只显示符合条件的记录,是默认的方式


 

存在2个id,我们可以改进下

 select Student.id,username,age,gender,class,score from Student inner join Student_cj on Student.id=Student_cj.id 


2.外连接

外连接包括三种

1.left [outre] join:左外连接--显示左边表中所有记录,以及右边符合条件的记录

2.right [outre] join:右外连接--显示右边表中所有记录,以及左边符合条件的记录

 3.full[outre] 显示表中所有记录

 修改原表中数据如下

1.左外连接

2.由外连接

3.全连接


交叉连接

select * from Student cross join Student_cj

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2014-04-15 14:25  那些年的疯狂  阅读(200)  评论(0编辑  收藏  举报