DAY2 MySQL学习

MySQL 管理工具

DAY 2 学习笔记:通过**“2024版MySQL数据库基础+进阶全套视频教程完整版”, 作者:一名00后程序媛,Bilibili.com **学习

MySQL以服务形式运行在window,用户通过DBMS操作MySQL。完成安装之后,默认安装了mysql Command Line Client,此工具是一个命令行形式的工具,通常会单独安装可视化DBMS工具:

  • SQLyog
  • Navicat for MySQL
1. MySQL Command line Client 使用
  • 打开 mysql 8.0 Command Line Client
  • 密码登录,建立与mysql的连接(ip/ port 3306/password) 密码错误或者mysql服务没有启动会闪退
  • 退出 mysql Command Line Client:输入exit+回车
2. 可视化工具Navicat使用
  • Navicat与MySQL建立连接(ip/ port 3306/password)
    • 点击连接
    • 选择MySQL
    • 输入连接名(可以自定义,非必须)
    • 输入主机:数据库所在计算机IP
    • 端口:默认3306
    • 用户名+密码
    • 点测试连接
    • 点确定

MySQL逻辑结构

MySQL可以存储数据,但是存储的数据举要按照特定结构来存储。

1. 逻辑结构

数据库软件–数据库–数据表–字段(列)[年龄,姓名,地址]

2. 记录/元组

表格中的行—一条记录(元组)

(101,小美,女,21,170,64)

SQL

SQL(Structured Query Language)结构化查询语言,用于存取,查询,更新,数据并管理关系型数据库系统。

数据库产品(如MySQL)遵循SQL的通用规范,但形成了一些数据库专有指令。

1. SQL分类
  • DDL Data Definition Language
    • 用于完成对数据库对象(数据库,数据表,视图,索引)的创建,删除,修改,管理。
  • DML Data Manipulation Language
    • 用于完成对数据表中的数据的添加,删除,修改
      • 添加:数据存储到数据表
      • 删除:数据从数据表移除
      • 修改:数据表中数据修改
  • DQL Data Query Language
    • 将数据表中的数据查询出来
  • DCL Data Control Language
    • 完成事务管理等控制性操作
2. SQL基本语法

在MySQL Command Line Clienct/Navicat(新建查询)操作。

  • SQL指令不区分大小写

  • 指令结束后都以英文**;**结束

  • SQL关键字以空格分隔

    • e.g. show database
  • SQL不限制换行(可以有空格的地方就可以有换行)

创建数据库—创建数据表—添加数据

3. DDL
3.1 DDL-数据库操作

使用DDL语句创建,查询,修改,删除数据库

  • 创建数据库

    dbNAME是自定义的名字

    create database <dbNAME>;
    
    create database if not exist <dbNAME>; 
    
    #在创建数据库同时指定字符集(数据存储在数据库中采用的编码格式(utf8,gbk)
    create database <dbNAME> character set utf8;
    
  • 查询数据库

    显示当前mysql所有数据库

    show databases;
    
    #显示指定的创建的数据库的SQL指令
    show create database <dbNAME>
    
  • 修改数据库

    # 修改数据库字符集
    # alter database <dbNAME> character set 改成的字符集;
    alter database <dbNAME> character set gbk;
    
  • 删除数据库

    删除数据库时会删除这个数据库中所有的数据表和表中数据

    drop database <dbNAME>;
    drop database if exists <dbNAME>;
    
  • 使用、切换数据库

    use <dbNAME>;
    
3.2 数据表操作
  • 创建数据表

    一个表格由多列组成,每一列成为一个字段

    • 创建字段:字段名 数据类型 约束

    • 非空约束 not null:不能为空

    • 数据类型

      • int
      • char(字符段长度):定长字符串
      • varchar(max长度):变长字符串
#在数据库中操作
use database <dbNAME>;

#创造表并创造字段

Create table <tableNAME> (
    NAME1 char(8) not null,
    NAME2 varchar(20) not null,
    NAME3 int,
    NAME4 float
)
  • 数据表查询
show tables;

​ 查询表结构

desc <tableNAME>;
  • 删除数据表

    drop table <tableNAME>;
    drop table if exists <tableNAME>;
    
  • 修改数据表

    #修改表名
    alter table <tableNAME> rename to <newTName>;
    
    #数据表有默认字符集,与数据库字符集一样,修改字符集:
    alter table<tableNAME> character set utf8;
    
    #添加字段
    alter table <tableNAME> add <columnName 类型 约束>;
    
    #修改字段的名字和类型
    alter table <tableNAME> change <columnName> <newcolumnName 类型 约束>;
    
    #只修改字段的类型
    alter table <tableNAME> modify <columnName> 新类型 新约束;
    
    #删除字段
    alter table <tableNAME> drop <columnName>
    

MySQL数据类型

数据表中的列中支持存放的数据类型

1.数值类型

类型内存空间大小(byte)范围说明
tinyint1有符号 (-128,127)
无符号 (0,255)
特小整数值
smallint2有符号 (-32768,32767)
无符号 (0,65535)
小整数值
mediumint3有符号 (-8388608,8388607)
无符号 (0,16777215)
中整数值
int4整数
bigint8大整数
float4单精度
double8双精度
decimalDECIMAL(M,D) 大小=M+2小数 decimal(10,2)=数值一共十位,小数2位

2.日期类型

类型格式说明
date2022-02-03年月日
time11:13:32时分秒
year2022
datetime2022-02-03 11:13:32年月日时分秒
timestamp20220203 111332日期+时间

3.字符串类型

类型字符长度(字节)说明
char0-255定长字符串,char(n)数据为n个字符长
varchar0-65536可变长度字符串
tinyblob0-255二进制字符串
blob0-65535二进制字符串
medium blob0-1677215二进制字符串
longblob0-4294967295二进制字符串
tinytext0-255文本数据(字符串)
text0-65535文本数据(字符串)
mediumtext0-1677215文本数据(字符串)
longtext0-4294967295文本数据(字符串)

字段约束

创建数据表时指定对数据表的列的数据限制性的要求

  • 保证数据有效性
  • 保证数据完整性
  • 保证数据正确性
  1. 非空约束(not null)

    此列的值必须提供,不能为null

  2. 唯一约束(unique)

    此列值不能重复

  3. 主键约束(primary key)

    非空+唯一,能够唯一标识数据表中的一条数据(行)

#创建表时添加主键约束
create table books(
    ID char(4) primary key,
    name varchar(10) not null,
    auhor varchar(6)
);
#或者
create table books(
    ID char(4),
    name varchar(10) not null,
    auhor varchar(6),
    primary key(ID)
);

#删除数据表主键约束
alter table books drop primary key;

#创建表之后添加主键约束
create table books(
    ID char(4),
    name varchar(10) not null,
    auhor varchar(6)
);
alter table books modify ID char(4) primary key;
  1. 外键约束(foreign key)

    建立不同表之间的关联关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值