数据库
一、概述
专门用来存储数据和管理数据库的一个仓库,英文叫database
分类:关系型和非关系型
1.关系型数据库:存的数据都有关系,代表MySQL,oracle
2.非关系型数据库:存的数据之间有松散的关系
–2,安装
1.服务端:存取数据,管理数据
端口号默认是3306,设置密码,服务名叫MySQL,安装路径中不能包含中文!!!
2.客户端:连接服务端,操作服务端的数据
两种形式:DOS窗口/SQLyog可视化工具
注意:配置完成后,MySQL开始执行,最后一步出错有时仍可以使用,使用SQLyog工具测试,如果不行,在执行安装程序,选择remove,删除,然后重新安装,同时注意必须是管理员权限。
MySQL客户端:DOS窗口
语法:mysql.exe执行文件
代表参数
-u用户名
-p密码
二、SQL语言
全称:结构化查询语言,专门用来操作数据库的语言
分类:DML DDL DCL
DML(data manipulation language):数据库操作语言
如:insert select datele update 操作
DDL(data definition language):数据库定义语言
如:create table之类
DCL(data control language):数据库控制语句
如:grant,deny,revoke等,只有管理员才有相应的权限
DQL()
三、数据库的常见操作
1.新建
- 创建数据库
1 create database cgb2011 DEFAULT CHARACTER SET utf8;
2.查询
- 查询所有数据库
1 show databases;
3.删库
- 删除名称为cgb2011数据库
1 drop database cgb2011;
四、表的常见操作
- 使用数据库操作
1 use cgb2011;
表设计
门店表:tb_door
订单详情表:tb_order_detail
查看所有表
1 show tables;
创建表
语法:create table 表名(字段名称 字段类型(字段长度),字段2,字段3,字段4…)
> create table tb_door(
> id int primary key auto_increment,
> door_name varchar(100),
> tel varchar(50));
查看表结构
1 desc 表名
修改表
1 alter table 表名 add column money NUMERIC(7,2)
2 alter table 表名 change 旧字段名 新字段名 数据类型
3 alter table 表名
add constraint 约束名 约束类型具体的约束说明
删除表
1 drop table 表名
五、表记录的常见操作
插入记录
insert into tb_door values(null,‘永和大王’,666);
insert into tb_door values(null,‘永和大王2’,888);
查询记录
- 查询tb_door表中所有的记录
1 select * from tb_door;
修改记录
- 修改tb_door表中id为1的记录
1 update tb_door set tel=555 where id=1;
删除记录
- 删除tb_door表中id为2的数据记录
1 delete from tb_door where id=2;
排序
- 将tb_door表中id为2的数据
1 select * from tb_door order by tel desc;
记录总数
- 查询tb_door表中的总记录数
1 select count(*) from tb_door;
六、数据类型
命名规则
- 字段名必须以字母开头,尽量不要使用拼音
- 长度不能超过30个字符(不同数据库,不同版本会有不同)
- 不能使用SQL的保留字,如where,order,group
- 只能使用如下字符az、AZ、0~9、$ 等
- Oracle习惯全大写:USER_NAME,mysql习惯全小写:user_name
- 多个单词用下划线隔开,而非java语言的驼峰规则
字符
- char长度固定,不足使用空格填充,浪费空间,但是查询搞笑,最多容纳2000个字符
- varchar变长字符串,最多容纳4000个字符,varchar(11)存储abc,只占3位。查询稍 慢,但节省空间。
- 大文本:大量文字
- 以utf8编码计算的话,一个汉字在utf8下占3个字节
数字
- tinyint,int整数类型
- float,double小数类型
- numeric(5,2),decimal(5,2) 也可以表示小数,表示总共5位,其中可以有两位小数。
- decimal和numeric表示精确的整数数字
日期
- date 包含年月日
- time 包含时分秒
- datetime 包含年月日和时分秒
- timestamp时间戳,不是日期,而是从1970年1月1日到的指定日期的毫米数。
图片
- 现在基本不会直接存储这样的数据,而是存储其方法地址,文件则是存放到磁盘上。