首先弄什么是数据库?

  数据库就是用来存储和管理数据的仓库。

数据库存储数据的优点:

  1.可存储大量的数据  2.方便检索  3.保持数据的一致性,完整性  4.安全 可共享  5.通过组合分析,可以产生新的数据。

数据库的发展历程:

  1.没有数据库,使用磁盘文件来存储数据

  2.层次结构模型数据库

  3.网状结构模型数据库

  4.关系结构模型数据库  (使用二维表格存储数据)

  5.关系-对象模型数据库

注:关系模型由关系数据结构,关系操作集合,关系完整体约束三部分组成

  MySql是一个关系结构模型数据库。

常见的数据库:

  甲骨文:oracle与MySql      IBM:  DB2  微软:SQLServer  赛尔斯:Sybase

关系型数据库管理系统是由多个数据库+管理员=N个table  

一个数据库可以有多个table

表格的创建:

  数据库表是一个多行多列的表格 ,创建时需指定表的列数,列名称,列类型。不用指定表的行数,因为行数是没有上限的。

在计算机的CMD中操作数据库:

  启动MySql服务器:net start mysql  关闭MySql服务器:net stop mysql

  登录MySql:mysql -uroot -p123 -hlocalhost  (-u后面是用户名,-r后面是密码,-h后面是服务器主机名,可以省略)

  退出MySql:quit或exit

 

SQL是什么?

  SQL是“结构化的查询语言,它是对关系型数据库的操作语言,可以应用到所有关系型数据库中”。

  虽SQL可用在所有关系型数据库中,但很多数据库都有属于自己的特有的语法。列如:MySql中的limit语句就是MySql独有的。

语法要求:

  SQL语句可单行或者多行书写,以分号结尾,可用空格或缩进增强语句的可读性,关键字不区分大小写,默认显示为大写,建议大写。

 

DDL:数据定义语言,用来定义数据库对象 ,库,表,列等

DML:数据操作语言,用来定义数据库的记录

DCL:数据控制语言,用来定义访问权限和安全级别

DQL:数据查询语言,用来查询数据记录

 

DDL:数据定义语言,用来定义数据库对象,库,表,列等

  基本操作:

    1.查看所有数据库名:show databases

    2.切换数据库: use  数据库名

  操作数据库

    1.创建数据库:create database 数据库名

    2.删除数据库:drop database 数据库名

    3.修改数据库编码:alter database 数据库名 character set utf8(注:修改数据库编码为utf-8,MySql中不能写-,因此省略)

  数据类型:MySql与java一样,也有数据类型,主要应用于列上

    int:整型  double:浮点型  注:例如double(5,2)表示最多5位,必须有2位数,即最大数为999.99

    decimal:精确小数类型,跟钱有关时使用  char:固定长度字符串类型  varchar:可变长度字符串类型

    text:字符串类型  blob:字节类型  date:日期类型 格式为:yyyy-MM-dd  time:时间类型 格式为:hh:mm:ss

  操作表:

    1.创建表

      create table 表名(

        列名  列类型  (可以还有一些属性),

      );

      例如:

      create table user(

        id  int,

        name  varchar(20),

        salary  double

      );

    2.查看当前数据库所有表的名称:show  tables;

    3.查看当前数据库指定表的创建时语句:show create table 表名;

    4.查看表的结构(列名列类型特有属性等):desc  表名;

    5.删除表:drop  table  表名

    6.修改表

      a.为表添加列:alter table stu add(name varchar(20));

      b.为表修改列类型:alter table stu modify gender char(2);

      c.为表修改列名:alter table stu change gender sex char(2);

      d.为表删除列:alter table stu drop name;

      e.修改表名:alter table stu rename to student;

 

DML:数据操作语言,用来定义数据库中的记录

  插入数据:insert into 表名(列名1,列名2) values(值1,值2);

  例如:insert into stu(id,name) values(001,'zs');

  修改数据:update 表名 set 列名1='值1',列名2='值2 where 条件;

  例如:update stu set name='zs' where id=01;

  删除数据:delete from 表名 where 条件;  例如:delete from stu where sex='m';

       truncate table 表名;  例如:truncate table stu;

  注:delete根据条件可以删除表里部分数据,而truncate则是删除表里全部数据

  两者都可以删除表里的所有记录,但原理不同:delete 没有truncate效率高

  其实truncate属于DDL语句,因为它是先drop table再create table 而且truncate删除的数据记录无法回滚(即无法恢复找回)

  但delete删除的数据记录可以回滚。