Mysql
数据库概述
什么是数据库
数据库(DataBase,DB):指长期保存在计算机的存储设备(硬盘)上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合. 还是以文件的方式存在服务器的电脑上的。
说白了就是存储数据的仓库, 可以持久化保存数据,并通过sql语句快速的对数据进行增删改查操作.
4.小结
1.一般情况下,一个系统(软件,项目) 就设计一个数据库;
2.一个数据库里面有多(>=1)张表. 一个实体(java类)对应一张表
3.一张表里面有多条(>=1)记录, 一个对象对应一条记录
SQL概述
什么是sql?
-
SQL:Structure Query Language。(结构化查询语言),通过sql操作数据库(操作数据库,操作表,操作数据)
SQL分类
-
Data Definition Language (DDL数据定义语言) 如:操作数据库,操作表
-
Data Manipulation Language(DML数据操纵语言),如:对表中的记录操作增删改
-
Data Query Language(DQL 数据查询语言),如:对表中的记录查询操作
-
Data Control Language(DCL 数据控制语言),如:对用户权限的设置
DDL操作数据库
增:
create database 数据库名 [character set 字符集][collate 校对规则] 注: []意思是可选的意思
eg:create database day17_2 character set gbk ;
删:
drop database 数据库名;
eg:drop database day17_2;
改:
alter database 数据库名 character set 字符集;
eg:
-- 需求: 修改day17_2数据库的字符编码为utf8,不是utf-8
alter database day17_2 character set utf8;
只能修改数据库编码,不能修改数据库名
切换数据库
use 数据库名; //注意: 在创建表之前一定要指定数据库. use 数据库名
查:
查看正在使用的数据库
select database();
查看数据库的语法结构
show create database 数据库名;
DDL操作表
增:
创建表
create table 表名(
字段名 字段类型 [约束],
字段名 字段类型 [约束],
........
字段名 字段类型 [约束]
);
-
整型 一般使用int 或者bigint
-
浮点/双精度型
-
默认的范围 float或者double
-
指定范围 float(M,D) eg: float(4,2) 表达的范围: -99.99~99.99
-
-
字符串
-
固定长度 char(n) eg: char(20), 最大能存放20个字符. ‘aaa’, 还是占20个字符的空间
-
可变长度 varchar(n) eg:varchar(20), 最大能存放20个字符. ‘aaa’, 占3个字符的空间
一般使用varchar(n) 节省空间; 如果长度(eg:身份证)是固定的话 可以使用char(n) 性能高一点
-
-
关于大文件
-
一般在数据库里面很少存文件的内容, 一般存文件的路径
-
一般不使用二进制存, 使用varchar(n)存文件的路径
-
-
日期
-
DATE 只有日期
-
DATETIME 日期和时间
-
3.3 约束
-
即规则,规矩 限制;
-
作用:保证用户插入的数据保存到数据库中是符合规范的
约束 | 约束关键字 |
---|---|
主键 | primary key |
唯一 | unique |
非空 | not null |
约束种类:
-
not null: 非空 ; eg: username varchar(40) not null username这个字段不能为空,必须要有数据
-
unique:唯一约束, 后面的数据不能和前面重复; eg: cardNo char(18) unique; cardNo字段不能出现重复的数据