数据库
文章目录
1.数据库的产生
数据库:就是一个用来存储数据的“软件”,内部应用了大量的数据结构,最终把数据有效存储在硬盘或者内存上
文件存储的问题:
1.安全性:只要电脑上文件存在,所有操作电脑的用户都能点开文件
2.不利于数据的查询或者管理 文件中若存储了上亿条记录,检索一个特定的记录是非常难的
3.文件在程序控制中不方便
数据库的产生就是为了解决这些问题
保存一个简单数据:文件存储
保存大量,复杂数据,需要使用数据库来存储,数据查询和管理会变得高效方便
2.常用数据库
关系型数据库
非关系型数据库
3.MySQL数据库基础
3.1 登录
通过命令行登录
mysql -u root -p
mysql -h 服务器的IP地址(127.0.0.1)-P 3306(端口号) -u root -p
3.2 创建数据库
create database [if not exists] 数据库名称; //[] 检查是否有同名,若存在,则不创建
常用命令
查看数据库的创建信息
show create database 数据库名称;
查看当前服务端有多少数据库
show databases;
选择数据库:操作表前需先选择数据库
use 数据库名称;
查看当前在哪个数据库中
select database();
删除数据库
drop database [if exists] 数据库名称;
3.3 数据表的操作
要进行数据表的操作,首先要选择数据库
use 数据库名称;
查看选择的数据中有多少表
show tables;
查看存储的具体路径
select @@datadir;
查看某个具体表的结构
desc 表名称;
创建表
create table 表名称(
属性名称1 属性类型,
属性名称2 属性类型,
属性名称n 属性类型
);
常用属性类型
数值型
decimal(4,2) -> (M 总共数据长度 D 小数点后保留几位) 小数部分2位
字符串类型
verchar(10) -> 表示此时数据最多存放10个字符,具体以实际为准
例如’天天’ -> 两个字符
char(10) -> 表示无论数据是几个字符,统一都按10字符存储
日期类型
date datetime “年月日 时分秒” yyyy-MM-DD hh:mm:ss
删除表
drop table [if exists] 表名称;
注释
创建数据表的时候可以给每一列加注释,表示这一列属性的作用
属性名称 属性类型 comment '注释'
// customer_id int comment '客户号'
查看注释信息
show create table;
修改表结构
alter 关键字
1 创建表之后新增一个属性
alter table 表名称 add 新属性名称 属性类型;
// alter table test add age int;
2 删除某一列
alter table 表名称 drop 列名称;
// alter table test drop age;
3 修改某一列
alter table 表名称 change 原字段名 新字段名 类型 [约束];
// alter table test change username usename varchar(20);
4 修改表名
alter table 旧表名 rename 新表名
5 修改表字符集
alter table 表名 convert to character set 新字符集;
// alter table test convert to character set gbk;
简单实现创建表
create database if not exists shopping character set utf8mb4;
use shopping;
create table if not exists goods(
goods_id int comment '商品编号',
goods_name varchar(100) comment '商品名称',
unitprice decimal(4,2) comment '商品单价',
category varchar(100) comment '商品类别',
provider varchar(100) comment '供应商名称'
);
create table if not exists customer(
customer_id int comment '客户号',
name varchar(100) comment '客户姓名',
address varchar(200) comment '住址',
email varchar(200) comment '邮箱',
sex varchar(1) comment '性别',
card_io char(18) comment '身份证号'
);
create table if not exists purchase(
order_id int comment '订单号',
customer_id int comment '客户编号',
goods_id int comment '商品编号',
nums int comment '购买数量'
);