7天入门数据库 day1- 初识&数据库操作

数据库



1.数据库的产生

数据库:就是一个用来存储数据的“软件”,内部应用了大量的数据结构,最终把数据有效存储在硬盘或者内存上

文件存储的问题:

1.安全性:只要电脑上文件存在,所有操作电脑的用户都能点开文件

2.不利于数据的查询或者管理 文件中若存储了上亿条记录,检索一个特定的记录是非常难的

3.文件在程序控制中不方便

数据库的产生就是为了解决这些问题

保存一个简单数据:文件存储

保存大量,复杂数据,需要使用数据库来存储,数据查询和管理会变得高效方便

2.常用数据库

关系型数据库

image-20220601234220258

非关系型数据库

image-20220609210814966

3.MySQL数据库基础

3.1 登录

通过命令行登录

mysql -u root -p
mysql -h 服务器的IP地址(127.0.0.1)-P 3306(端口号) -u root -p

image-20220601234553599

3.2 创建数据库

create database [if not exists] 数据库名称; //[] 检查是否有同名,若存在,则不创建

image-20220601234915319

常用命令

查看数据库的创建信息

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 属性类型
);

常用属性类型

数值型

image-20220602000436446

image-20220602000447495

decimal(4,2) -> (M 总共数据长度 D 小数点后保留几位) 小数部分2位

字符串类型

image-20220602000641244

image-20220602000655311

image-20220602000712327

verchar(10) -> 表示此时数据最多存放10个字符,具体以实际为准

例如’天天’ -> 两个字符

char(10) -> 表示无论数据是几个字符,统一都按10字符存储

日期类型

image-20220602000959337

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);

image-20220608203013938

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 '购买数量'
    );

image-20220602002010382

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值