下列都是关系型数据库(在数据库中存在行、列)

  oracle:

     Oracle公司的产品(被sun公司收购)

 中大型项目使用、银行系统、政府办公系统

    9i/10g/11g

sql server:

   微软公司的产品

   中大型项目使用、C#语句、。Net语言方法(VS)

   sqlserver2005 / sqlserver2008

 

MySQL:

    小型数据库

    sun公司产品(免费、开放源代码)

     只要应用于网站、电商系统项目中

 DB2:

  DB2公司的产品(主要应用于银行系统的数据库)

非关系型数据库:(以对象的方式存取数据)

  nosql

 

在java程序中一个类,在数据库中设计成一张表

  在类中的属性,可以设计成表中的字段

类的一个对象,可以存为表的一行数据(记录)

 mysql 数据库有一个默认的用户root

   root 用户下有多个默认的数据库mysql /test

 show databases;//查看当前用户下有多少个数据库

  create dabase mychool ;//创建数据库

   use myschool;//使用数据库

    //MySql 常用数据类型

   字符串型:char  varchar text blob

   数字类型: int float double decimal(5,2)-->123.45

  日期类型: datetime 日期+时间  date 日期

  bit 数据类型: sex bit: //0 表示男 1表示女

  

//约束

主键约束:primary key  列的唯一标识符。

非空约束: 该列值不能为空

  主外键 建立后注意事项

~ 当主表中没有对应的记录时,不能将记录添加到子表

   --->成绩表中不能出现在学员信息表中不存在的学号

~ 不能更改主表中的值而导致子表中的记录孤立

   --->把学员信息表中的学号改变了,学员成绩表中的学号

   也应当随之改变

~ 子表存在与主表对应的记录,不能从主表中删除该行

  ---> 不能把有成绩的学员删除了

~ 删除主表前,先删子表

  --->先删学员成绩表、后删除学员信息表

 

  第二节

DML (Data Manipulation Language: 数据操作语言)

   插入、删除和修改数据库中的数据

     insert 、update 、delete

 DCL(Data Control Language: 数据控制语言)

    用来控制存取许可、存取权限等

     grant、revoke等

 DQL (Data Query Language:数据查询语言)

   用来查询数据库中的数据

     select 等

DDL(Data Definition Language:数据定义语言)

 用来建立数据库、数据库对象和定义表的列

   create table 、 drop table 等

~ 使用 update 更新数据行:

  update 表名 set 列名=更新值【where 更新条件】

~使用delete 删除数据行

    delete from 表名 [ where <删除条件>]

  ~插入数据行语法

  insert  into 表名(列名) values (值列表)

   SQL 中的运算符

    赋值运算符

  = 把一个数或变量或表达式赋值给另一变量,如:

   name='张三'

  逻辑运算符

   and  并且仅当两个布尔表达式都为true时,返回true。

    or   仅当 两个布尔表达式都为 false ,返回 false 。

    not  对布尔表达式的值取反 。

  插入数据语法:

    IN SERT INTO 表名(列名) VALUES(值列表)

  注意事项:

   1、每次插入一行数据,不能只插入半行或者几列数据,插入的数据是否有效将按照整行

的完整性的要求来检验 。

 2、 每个数据值的数据类型、精度和小数位数必须与相应的列匹配

 3、如果在设计表的时候就指定了某列不允许为空,则必须插入数据

 4、具有缺省值的列,可以使用default(缺省) 关键字来代替插入的值

 

 UPDATE 表名 SET 列名 = 更新至 【 WHERE 更新条件 】

 

   第三节

  什么是查询:

查询产生一个虚拟表

看到的是表形式显示的结果,但结果并不真正存储

每次执行查询只是从数据表中提取数据,并按照表的形式显示出来

 SELECT <列名> FROM <表名> 【 WHERE 查询条件表达式 】

 

  from 后面对应你的表格名

   模糊查询,输入跟查询目标有关的即可,例如:zs 输入z where 后面跟列名

    select 后面接列名

   模糊查询空值 ---> is null

  小结:

    ~like:对字符串进行模糊匹配,通常和通配符一起使用

   ~in :在指定的范围内匹配

    ~between ... and:对数值在一个范围内匹配(由小到大)

    ~in null :列值是否为null

  ~ AS 语法后面  '输入的是更改的别名'

     ~IS NOT NULL 查询非空值

 

 

   ~ 查询语法

      查询所有

     select * from student

   ~根据条件查询

     select * from student  where  studentno=1;  and sex='男' and email is not null;

     

    第四节

 

    分组查询(查询的类要么是分组的类或者是聚合函数计算出来的列)

   //没有用分组的使用情况(where、order by)

  //分组查询的关键字是什么:

     group by

   分组筛选的关键字是什么:

    having

    排序、分组筛选、查询筛选、分组查询正确书写顺序是:

     //执行顺序 where 、group by、 having 、order by 。

   

 

 

  ~ 子查询 查询出子查询的信息(查找出生日期要大于子查询的信息)

   子查询,查找出来的只能是一列。作为条件

     子查询,总是用圆括号括起来

   首先,执行小括号中的子查询,返回的结果是所有来自子查询的结果

  其次,才开始执行外围的父查询,返回查询的最终结果。

  

  

  

 

posted on 2016-06-16 14:49  影子是时光的心  阅读(214)  评论(0编辑  收藏  举报