初识MySQL

什么是MYSQL

MYSQL数据库。数据库:存储数据的一种服务器
client:
1、MySQL自带的
2、cmd 配置环境变量
3、工具 Navicat

数据库和数据结构有什么区别?

数据结构一门学科,数据库是一个软件,数据库底层也用到了数据结构,且很依赖于这个数据结构。

数据库的优点

文件保存数据有以下几个缺点:

  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便

文件存储的缺点就是数据库的优点

数据库的分类

数据库大体可以分为 关系型数据库非关系型数据库

  • 关系型数据库(二维表格)

MySQL(开源,免费的)、 oracle(最好的数据库)、 SQL server

  • 非关系型数据库(key-value)

Redis, hbase,MariaDB
但是MySQL不适用于 大型的复杂问题

客户端连接MySQL服务器

MySQL默认只允许在服务器本机 使用 root 用户登录,要开启 root 用户的远程登录,在MySQL服务器
本机执行:

mysql -u root -p

要求输入密码,没有设置密码则直接回车
进入MySQL命令行以后,可以看到 mysql>

-- 使用mysql数据库
use mysql;
-- 更新用户表的root账户,设置为任意ip都可以访问,密码修改为123456
update user set host="%",authentication_string=password('root') where user="root";
-- 刷新权限
flush privileges;

退出:quit

SQL语言

SQL语言也是一种编程语言。SQL是用来操作数据库的数据的。
DDL(用在项目开始的时候)
DML(使用频率最高的,CURD)
DCL(运维)

什么是存储引擎?

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法

关于库的操作

1.显示数据库:

show databases;

在这里插入图片描述

2.选中数据库

当你在使用某个数据库的时候,一定得先选中:use 数据库名;

use 数据库名

3.查看当前选中的数据库下的表

show tables;

4.删除数据库

DROP DATABASE [IF EXISTS] db_name;

数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除

5.创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, 
create_specification] ...]
create_specification:
 [DEFAULT] CHARACTER SET charset_name
 [DEFAULT] COLLATE collation_name

说明:

大写的表示关键字
[] 是可选项 CHARACTER SET
指定数据库采用的字符集 COLLATE:

示例:
创建名为 db_test1 的数据库

CREATE DATABASE db_test1;

如果系统没有 db_test2 的数据库,则创建一个名叫 db_test2 的数据库,如果有则不创建

CREATE DATABASE IF NOT EXISTS db_test2

如果系统没有 db_test 的数据库,则创建一个使用utf8mb4字符集的 db_test 数据库,如果有则不创建

CREATE DATABASE IF NOT EXISTS db_test CHARACTER SET utf8mb4;

utf8mb4其实在mysql当中 就是utf-8

常用的数据类型

在创建表的时候,表中的字段的数据类型
整型BIT (M) bit BIT(3) INT
浮点型DECIMAL(M,D):小数
M:代表有效长度。13.45 的长度是4
D:代表小数点后几位
字符串类型VARCHAR(SIZE):
varchar(4): 4个字节 String
TEXT 65535
日期类型
DATATIME: 8个字节 表示的时间范围:1000-9999年
缺 点:不会进行时区的检索和转换。
TIMESTAMP: 4个字节。可以进行时区的检索和转换
缺 点:只能表示1970-2038年。

关于表的操作

1.创建表

CREATE TABLE 表名();

create table stu_test(
 ID INT,
 NAME VARCHAR(10) comment '姓名',
 password VARCHAR(10),
 age INT,
 sex VARCHAR(1),
 birthday timestamp,
 amout decimal(6,2),
 resume TEXT
 );

可以使用comment增加字段说明

2.显示表

 show tables;

3.删除表

DROP TABLE [IF EXISTS] tbl_name

-- 删除 stu_test 表
drop table stu_test;
-- 如果存在 stu_test 表,则删除 stu_test 表
drop table if exists stu_test;

作业:

有一个商店的数据,记录客户及购物情况,有以下三个表组成:
商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)
客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证
card_id)
购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)

-- 创建数据库
create database if not exists bit32mall
default character set utf8 ;
-- 选择数据库
use bit32mall;
-- 创建数据库表
-- 商品
create table if not exists goods
(
   goods_id  int comment '商品编号',
   goods_name varchar(32) comment '商品名称',
   unitprice  int comment '单价,单位分',
   category  varchar(12) comment '商品分类',
   provider  varchar(64) comment '供应商名称'
);
-- 客户
create table if not exists customer
(
   customer_id  int comment '客户编号',
   name varchar(32) comment '客户姓名',
   address  varchar(256) comment '客户地址',
   email  varchar(64) comment '电子邮箱',
   sex bit comment '性别',
   card_id varchar(18) comment '身份证'
);
-- 购买
create table if not exists purchase
(
   order_id  int comment '订单号',
   customer_id int comment '客户编号',
   goods_id  int comment '商品编号', 
   nums  int comment '购买数量'
);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值