| 
 
| #MySQL 1.数据库概述
 1.1数据库:
 就是一个文件系统,这个文件必须通过标准的SQL访问.
 1.2 实体关系
 用户     订单    商品   (实体是矩形,关系是菱形)
 1.3 常用的关系型数据库
 MySQL:免费的小型数据库,已被Oracle收购                常用
 Oracle:Oracle公司收费的大型数据库                                常用
 SQLServer:微软收费中型数据库
 DB2:IBM收费大型数据库
 SQLite:小型嵌入式数据库
 SyBase:SyBase公司收费的数据库,已经被淘汰,PowerDesigner数据建模的工具
 1.4数据库存储结构
 2.SQL的概述
 2.1什么是SQL
 结构化的查询语言
 2.2.SQL的分类
 
 关系型数据库:反映了实体和实体之间的关系
 DDL: 数据库定义语言 create alter drop
 DML:数据库操纵语言 insert delete update
 DCL:数据库控制语言 grant if
 DQL:数据库查询语言 select
 2.3.SQL的特点
 非过程性的语言:一条语句就会有一个运行的结果.
 2.4.使用SQL
 2.4.1使用SQL操作数据库(对数据库的CRUD的操作)
 *创建数据库:
 create datebase 库名    [character set 字符集  collate 字符集校对];
 *查看数据库:
 查看数据库服务器中所有的数据库:
 show databases
 查看某个数据库的定义信息:
 show  create  database  数据库名
 查看当前正在使用的数据库信息
 select  database()
 *删除数据库
 drop database  数据库名;
 *修改数据库
 修改数据库修改的是数据库的字符集和校对规则
 *切换数据库
 use 库名;
 2.4.2使用SQL操作数据库中的表
 2.4.2.1创建表
 *语法:
 * create table 表名 (
 字段名 类型(长度) 约束,
 字段名 类型(长度) 约束,
 字段名 类型(长度) 约束
 );
 *数据类型:
 * Java类型:                                 MySQL:
 byte/short/int/long                                 tinyint/smallint/int/bigint
 String                                         char/varchar
 * 区别?char是固定长度的字符串,varchar可变长度的字符串.
 * char(8) 和 varchar(8)
 * 如果插入一个字符串hello 插入到char 那么 插入hello   .插入到varchar中 插入hello
 float                                                 float
 double                                           double
 BigDemal                                         decimal
 boolean                                         bit
 Date                                                 date/time/datetime/timestamp
 * datetime和timestamp都是既有日期又有时间的日期类型
 * 区别? datetime需要使用外部传入的日期.如果没传这个值就是Null.
 timestamp会使用系统当前的时间作为这个值的默认值.
 文本文件 text
 二级制文件 BLOB
 
 ***** Oralce使用CLOB/BLOB
 ***** MYSQL中除了字符串类型需要设置长度其他的类型都有默认长度.
 *约束:
 单表约束:
 主键约束:primary key(默认唯一非空)
 唯一约束:unique
 非空约束:not null
 注意:varchar的长度最好是8的整数倍(最小
 2.4.2.2 表的查看
 *查看数据库中所有表
 show tables;
 *查看表结构
 desc 表名;
 2.4.2.3表的删除
 drop table 表名;
 2.4.2.4表的修改
 *修改表添加列:
 alter table 表名 add 列名 类型(长度) 约束;
 alter table employee add image varchar(50);
 *修改表删除列:
 alter table 表名 drop 列名;
 alter table employee drop job;
 *修改表的列的类型长度及约束:
 alter table 表名 modify 列名 类型(长度) 约束;
 alter table employee modify image varchar(80) not null;
 *修改表的列名
 alter table 表名 change 旧列名 新列名 类型(长度) 约束;
 alter table employee change image eimage varchar(60);
 *修改表名
 rename table 旧表名 to 新表名;
 rename table employee to user;
 *修改表的字符集:
 alter table 表名character set 字符集;
 alter table user character set gbk;
 
 
 
 | 
 |