Mysql
       什么是数据库:
                定义:按照数据结构来组织,存储和管理数据的仓库,我们称之为数据库(DataBase,简称:DB)这些存储的数据可以是多种形式:如文字,符号,图片,视频,音频等!
                      从广义上来说,我们的txt文件,word文档,excel文件都可以理解成一个数据库!
                      在IT界里,数据库指的是由专业技术团队开发的用于存储数据的软件系统!
数据库设计三大范式
       1.第一范式的目标是确保每列的原子性   如果每列都是不可再分的最小数据单元(也称为最小原子单元),则满足第一范式(1NF)
       2.第二范式要求每个表只能描述一件事情 目标是确保表中的每一列都和主建相关
       3.如果一个关系满足2NF并且除了主建以外的其他列都不传递依赖主建列,则满足第三范式(3NF)

操作数据库
        1.创建数据库:
                     CREATE DATABASE 数据库名;
        2.查看数据库列表:
                     SHOW DATABASES; 
        3.选择数据库:
                     USE 数据库名;
        4.删除数据库:
                     DROP DATABASE 数据库名;

                    Query ok : 表示sql语句执行成功
                     1 row affected :表示影响的行数
                     0.00sec :表示执行时间

用sql语句操作数据表
       sql语言以下4个部分
                            01.DDL(Data Definition Language)数据定义语言。用来创建数据库中的各种对象。如表,视图,索引,同义词等。
                                   创建(create ) 删除(drop)截断(truncate)更改 (alter)

                           02.DQL(Data Query Language)数据查询语言。 (select 选择; 挑选)   (where 条件)  (group by 分组依据)   (having 所有,持有; )  (order by 降序排列)

                           03.DML(Data Manipulation Language)数据操作语言。插入(Insert)      更新(update)    删除(delete)  

                           04.DCL(Data Control Language)数据控制语言。授予(grant)    撤消(revoke)  回滚(rollback) 提交(commit)
数据类型
           1.确定表中有那些字段。
           2.确定每字段的数据类型。
           3.给表添加各种约束。(唯一约束  检查约束 主键约束   外键约束  默认值约束)
           4.创建各表之间的关系。                                 

           5.整型 int

          6.小数 double 精确度要求高的 ----Decimal(18,4)     22222222211111.3334      对应的java中的类型 BigDecimal   

          7.字符串:nvarchar(32)   varchar  char
          char :定长字符串(一旦设定了长度,无论真实内容有多少,都要占用指定长度的空间。)
          varchar:可变字符串
          nvarchar() 防止中文乱码出现   insert into grade(gradename) values(N'牛X班')

         8.日期类型
         DateTime  yyyy-mm-dd hh:mm:ss.ms

约束添加和删除

                         主键约束
                                         alter table grade
                                         add constraint PK_GradeId Primary key grade(gradeid)

                      --删除主键
                                      #取消主键列的自增,再删除主键
                                     ALTER TABLE student MODIFY studentno INT

                       #删除主键
                                    ALTER TABLE student DROP PRIMARY KEY    

                       外键约束

                                   alter table student
                                   add constraint FK_Grade_Student_GradeId Foreign key (gradeid) referrences grade(gradeid)

                    ---删除外键   界面上(图形化界面)直接点击无效 (1.先用如下命令删除  2.再点击鼠标删除)
                                 alter table  student
                                 drop foreign key FK_Grade_Student_GradeId

                   唯一约束 年级名称唯一()
                                alter table grade
                                add constraint UK_Gradename UNIQUE Key(gradename)  
                   ---删除唯一约束
                               alter table grade
                               drop index UK_Gradename

                默认值约束
                             alter table grade
                            alter column gradename set default 'X班'

               --删除语法
                          alter table grade
                          alter column gradename drop default

               检查约束  mysql中不起作用 
                        alter table student
                        add constraint CK_GradeID Check(gradeid<7)

 数值类型
                       tinyint(M)          1字节
                       smallint(M)         2字节
                       mediumint(M)      3字节
                       int(M,D)           4字节
                       float (M,D)         4字节
                       double (M,D)       8 字节
                       Decimal (M,D)      M+2字节
                       M:总位数,取值范围是1-65,默认值10.
                       D:小数位,取值范围是0-30,不能超过M的值!

   什么是引擎?
                       解析:能让程序启动并执行的一个程序,也称之为驱动。
                      搜索引擎指自动从因特网搜集信息,经过一定整理以后,提供给用户进行查询的系统。
                      因特网上的信息浩瀚万千,而且毫无秩序,所有的信息像汪洋上的一个个小岛,
                      网页链接是这些小岛之间纵横交错的桥梁,而搜索引擎,则为用户绘制一幅一目了然的信息地图,
                      供用户随时查阅。它们从互联网提取各个网站的信息(以网页文字为主),建立起数据库,
                     并能检索与用户查询条件相匹配的记录,按一定的排列顺序返回结果。