MySQL-什么是数据库-数据库01

MySQL-什么是数据库-数据库01

什么是数据库

数据库(DB,DataBase)

概念:数据仓库,软件,安装在操作系统

作用:存储和管理数据

数据库分类

关系型数据库(SQL):

MySQL,Oracle,Sql Server

通过表和标志见,行和列之间的关系进行数据的存储

非关系型数据库(NoSQL)Not Only

Redis,MOngDB

非关系型数据库,对象存储,通过对象自身属性来决定

DBMS(数据库管理系统)

数据库管理软件,科学有效管理数据。维护和获取数据

MySQL,数据库管理工具

MySQL简介

MySQL是一个关系型数据库

开源,体积小,速度快

安装(Mac用homebrew):

  1. 进入item命令行执行:homebrew install mysql
  2. 查看是否安装成功:which mysql
  3. 启动服务 mysql.server start
  4. 连接数据库:mysql -u root -p
  5. 设置密码:alter user ‘root’@‘localhost’ identified by ‘123456’; (mysql8和之前版本不一样)

使用可视化软件连接出现问题:Authentication plugin ‘caching_sha2_password’ cannot be loaded

  • 修改账户密码加密规则并更新用户密码

    ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; #修改加密规则

    ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; #更新一下用户的密码

    FLUSH PRIVILEGES; #刷新权限

新建表

用可视化界面直接新增表

命令行

!所有命令行后面;结尾

刷新权限: flush privileges

查看所有数据库: show databases

切换数据库:use school

查看所有表:show tables;

现实数据库中所有的表的信息:describe student

创建数据库 create database 库名

退出连接:exit;

单行注释 –

多行注释:/* */

操作数据库

操作数据库>操作数据库中的表>操作数据库中表的数据

mysql关键字不区分大小写

  1. 创建数据库

    CREATE DATABASE if not exists subjct;

  2. 删除数据库

    DROP DATABASE if exists subjct;

  3. 使用数据库

    USE school

数据库的列类型

数值

int 标准整数 4个字节

bigint 大数 8个字节

float 浮点数 4个字节

double 浮点数 8个字节

decimal 字符串形式的浮点数 金融计算的时候,一般使用decimal

字符串

char 固定大小 0-255

vachar 可变字符串 0-65535

tinytext 微型文本 2^8-1

text 文本串 2 ^16-1

时间

date YYYY-MM-DD 日期格式

time HH:MM:SS 时间格式

datetime YYYY-MM-DD HH:MM:SS

timestamp 时间戳

null

注意!不要使用NUL进行运算

数据库的字段属性

Unsigned:无符号的证书,不能声明为负数

zerofill:0填充,不足的位数,使用0来填充

自增:自动在上一条记录的基础上+1, 可以设置初始值和步长,通常来设计唯一的主键

非空:如果不给赋值,就会报错,不填写,默认就是null

创建数据库表

CREATE TABLE[IF NOT EXISTS] 表名

字段名 列类型 属性 索引 注释,

字段名 列类型 属性 索引 注释,

字段名 列类型 属性 索引 注释,

)表类型 字符集设置注释

CREATE TABLE student (
id int unsigned NOT NULL AUTO_INCREMENT,
name varchar(60) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

SHOW CREATE DATABASE school;查看创建数据库的语句

SHOW CREATE TABLE student;查看student数据表的定义语句

DESC student 显示表的结构

数据库引擎

InnoDB:默认使用,支持事务,支持行锁,支持外健,不支持全文索引,表空间较大,支持多表

MyIsam:节约空间,速度较快

所有数据库文件都存储在data文件夹下

在物理文件上的区别

InnoDB在数据库中只有1个*.frm和上级目录上的ibdata1文件

MyIsam:文件较多

设置字符集编码

CHARSET=utf8

不设置,会是mysql默认的字符集编码(不支持中文)

中my.ini中配置默认编码:character-set-server=utf8

修改表名

ALTER TABLE teacher RENAME AS teacher1

增加表字段

ALTER TABLE teacher1 ADD age INT(11)

修改表的字段

ALTER TABLE teacher1 MODIFY age VARCHAR(20) —修改约束

ALTER TABLE teacher1 CHANGE age age1 INT(1) —字段重命名

删除表的字段

ALTER TABLE teacher1 DROP age1

删除表

DROP TABLE IF EXISTS teacher1

猜你喜欢

转载自blog.csdn.net/rr18758236029/article/details/108478399