一.简介
1.概述
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
2.常见数据库
SQLServer: 微软的中小型关系型数据库
MySQL: 中小型的关系型数据库
Oracle: 大型的关系型数据库
关系型数据库: 具有行和列的这种二维表结构的数据库
非关系型数据(NOSQL): 用键值关系来存储数据类似 json
SQL:
结构化查询语言,用来对关系型数据库进行操作,他是一套规范,关系型数据库,都会遵循此规范,但是允许各家的数据库有差异,这些差异,我们称之为方言
SQL语法
对SQL语句我们习惯分为以下四类
(1): DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等
(2): DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(增、删、改)
(3): DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别
(4): DQL(Data Query Language):数据查询语言,用来查询记录(数据)
3.数据库的安装与卸载
安装按照提示正常安装即可
安装地址
登录方法:
mysql -h 主机名 -u 用户名 -p
卸载的正确步骤:
1.可以使用第三方的卸载软件来卸载
2.在控制面板里面常规卸载
1.停止后台服务 电脑–右键–管理—服务—mysql–右键停止掉
2.卸载
3.清除残留文件 C:\ProgramData\MySQL 把这个MySQL文件夹删除
二.数据库的用法
1.数据库中常见的列的数据类型
(1): int:整型
例:id int
(2): double:浮点型
例:money double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
(3): char:固定长度字符串类型;
例:name char(10)
(4): varchar:可变长度字符串类型;
例:name varchar(10)
(5): text:字符串类型;
存大格式的文本 比如存个小说但是一般不用
(6): blob:字节类型;
存字节类型的数据 比如电影字节 图片字节 但是一般不会把字节数据存到数据库当中
(7): date:日期类型;
格式为:yyyy-MM-dd;
(8): time:时间类型;
格式为:hh:mm:ss
(9): datetime:日期时间类型
格式为:yyyy-MM-dd hh:mm:ss
(10): timestamp:时间戳类型
格式为:yyyy-MM-dd hh:mm:ss
如果该类型的字段不给赋值,则默认当前时间
2.数据库的创建
(1): 创建数据库:create database 数据库名
例如: create database mydb;
(2): 查询所有库:show databases;
(3): 删除:drop database mydb;
(4): 修改数据库编码:alter database mydb character set=‘gbk’;
(5): 查看建库语句:show create database mydb;
3.对表头的操作
(1): 切换库 : use mydb;
(2): 创建表:create table 表名(列名1 数据类型,列名2 数据类型2(长度), …);
例:create table student(
id int,
name varchar(16),
age int,
sal double(5,2),
birthday timestamp
);
注意:
1.创建表时,列名 是要有数据类型的
2.列名的命名的规范:遵循java中的命名规范,记住不要拿MySQL中的关键字来命名
(3): 查看改库下所有的表:show tables;
(4): 查看表结构 desc 表名;
例如: desc student;
(5): 修改表名:alter table 旧表名 rename to 新表名
alter table student rename to stu;
(6): 删除表 drop table 表名
drop table student;
(7): 添加一个列
alter table student add(phone varchar(11));
(8): 删除一个列
alter table student drop phone;
(8): 修改列名
alter table student change name username varchar(20);
(9): 修改列的数据类型
alter table student modify username char(20);
(10): 修改表的名字与数据类型:
alter table student change username username varchar(20);
(11): 查看建表语句
show create table student;
9.复制表
创建一张表会把另一张表中的字段和对应的数据全部复制过去
语法:create table 表名 as select * from 另一张表 where true;