一.为什么不用文件存储数据,而用数据库?
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
●文件的安全性问题
●文件不利于数据查询和管理
●文件不利于存储海量数据
●文件在程序中控制不方便
数据库存储介质:
●磁盘和内存
数据库, 它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。
二.关系型数据库和非关系型数据库
数据库大体可以分为关系型数据库和非关系型数据库。
●关系型数据库:
是指采用了关系模型来组织数据的数据库。简单来说, 关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:
- Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、 OA等企业信息系统。收费。
- MySQL:属于甲骨文,不适合做复杂的业务,开源免费。
- SQL Server:微软的产品,安装部署在windows server.上,适用于中大型项目。收费。
●非关系型数据库:
不规定基于SQL实现。如:
- 基于键值对(Key-Value) : 如memcached、redis
- 基于文档型: 如mongodb
区别:
三.客户端连接 MySQL 服务器
MySQL默认只允许在服务器本机 使用 root 用户登录,要开启 root 用户的远程登录,在MySQL服务器本机执行:
mysql -u root -p
要求输入密码,没有设置密码则直接回车。
四.数据库操作
1.显示当前数据库
show databases;
2.创建数据库
CREATE DATABASE db_ name ;
说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集: utf8, 校验规则是: utf8_ general_ ci
如果系统没有 db_ test 的数据库,则创建一 个使用 utf8mb4 字符集的db_ test 数据库,如果有则不创建.
CREATE DATABASE IF NOT EXISTS db_ test CHARACTER SET utf8mb4;
说明:MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4,建议大家都使用utf8mb4
3.使用数据库
use 数据库名;
4.删除数据库
DROP DATABASE [IF EXISTS] db_ name ;
说明:数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除。
用法:
drop database if exists db_ test1;
drop database if exists db_ test2;
五.常用数据类型
六.操作表
1.创建表
create table stu_test(
id int,
name varchar(20),
password varchar(50),
age int,
sex varchar(1)
);
2.查看表结构
desc 表名;
3.删除表
语法格式:
DROP TABLE [IF EXISTS] tb1_ name ,[ tb1_ name] …
示例:
–删除stu__test表
drop table stu_ test;
–如果存在stu_ _test 表,则删除stu_test表
drop table if exists stu_test;