数据库简介

数据库分类

关系型数据库(SQL):(狭义可以理解为行和列)

  • MySQL,Oracle,Sql Server, DB2
  • 通过表和表之间,行和列之间的关系进行存储

非关系型数据库(NoSQL Not Only SQL):(狭义可以理解为键值对)

  • Redis, MongDB
  • 非关系行数据库已对象存储,通过对象的属性决定操作

概念

DBSM(database management system)数据库管理系统

  • 数据库的管理软件
  • 区分,数据库存数据,数据库管理系统管理数据

安装建议

  • 不要使用exe方式安装,会走注册表,卸载起来比较麻烦
  • 建议使用压缩包安装,压缩包安装方便卸载

数据库MySQL的安装

注意:解压压缩包就安装好了,关键是后面的注册部分

  1. 从官网https://dev.mysql.com/downloads/mysql/5.7.html下载压缩包,
  2. 解压,得到一个文件夹,把这个文件夹放到自己的开发目录

  1. 配置环境变量

    • 我的电脑-->属性-->高级设置-->环境变量
    • 选择PATH,在后面添加:你的mysql安装文件夹下面的bin文件夹
  2. 在MySQL安装目录下新建my.ini配置文件
    • 编辑my.ini
[mysqld]
basedir=D:\\Drawer\\develop\\soft\\mysql-5.7.32-winx64\
datadir=D:\\Drawer\\develop\\soft\\mysql-5.7.32-winx64\data\
port=3306
skip-grant-tables
  1. 管理员模式启动CMD,切换到安装的MySQL的bin目录下
cd /d D:\Drawer\develop\soft\mysql-5.7.32-winx64\bin
  1. 然后输入
mysqld -install



再输入一下命令,初始化数据文件

mysqld --initialize-insecure --user=mysql

  1. 启动MySQL
net start mysql



也可以从任务管理器发现MySQL启动起来了

  1. 用命令进入管理界面
mysql -u root -p

接下来他会要求你输入密码,第一次登录,没有密码,所以点击回车就可以了

  1. 设置用户名为root的初始密码为123456
update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';

  1. 刷新权限
flush privileges;

  1. 在my.ini里注释跳过密码命令
[mysqld]
basedir=D:\\Drawer\\develop\\soft\\mysql-5.7.32-winx64\
datadir=D:\\Drawer\\develop\\soft\\mysql-5.7.32-winx64\data\
port=3306
#skip-grant-tables
  1. 退出MySQL
exit

  1. 重启MySQL就可以正常使用了
net stop mysql
net start mysql

  1. 输入用户名root,密码123456 登录
mysql -uroot -p123456

遇到的问题

问题:执行mysqld --initialize-insecure --user=mysql 报错(errcode: 2 - no such file or directory)

原因:路径名称需要写成//,比如下面

[mysqld]
basedir=D:\\Drawer\\develop\\soft\\mysql-5.7.32-winx64\
datadir=D:\\Drawer\\develop\\soft\\mysql-5.7.32-winx64\data\
port=3306
skip-grant-tables

注意:windows安装mysql默认自动启动

更换数据库版本

原先数据库的地址D:\develop\MySQL Server\bin

基本命令操作

连接数据库(命令行)

mysql -uroot -p

修改密码

修改密码其实就是操作数据库的表,也就是修改mysql数据库的user表的authentication_string字段



UPDATE mysql.`user` SET authentication_string=PASSWORD('123456') WHERE `user` = 'root' AND `Host` = 'localhost'; --修改用户密码

注意,所用的sql都是以;结尾

查看所有数据库

SHOW DATABASES;

切换数据库

  • 切换到school数据库
USE `school`;

查看数据库中所有的表

SHOW TABLES;

查看表结构

  • 查看student表结构
DESCRIBE `student`;

  • 也可是省略将DESCRIBE student; 省略为DESC student;
DESC `student`;

创建数据库

  • 创建teacher数据库
CREATE DATABASE `teacher`;

删除数据库

  • 删除teacher数据库
DROP DATABASE `teacher`;

退出mysql

EXIT;

SQL的本来注释

  • 单行注释
-- 单行注释内容
  • 多行注释
/*
多行注释内容
*/

操作数据库

1. 创建数据库

  • 创建teacher数据库
CREATE DATABASE `teacher`;
  • 如果创建前数据库成立,会报错,可以加一个判断 IF NOT EXISTS表示当他不存在时执行创建数据库语句
CREATE DATABASE IF NOT EXISTS `teacher`;
  • 我们把可选部分用 [ ] 包裹,表示可以选择或者不选择,例如
CREATE DATABASE [IF NOT EXISTS] `teacher`;

2. 移除数据库

  • 删除teacher数据库
DROP DATABASE `teacher`;
  • 同样,如果删除内容如果不存在,也会报错,我们可以加一个判断IF EXISTS ,表示当他存在执行删除语句
DROP DATABASE IF EXISTS `teacher`;

3.使用数据库

  • 使用teacher数据库
USE `teacher`;

4. 查看所有数据库

SHOW DATABASES;

可以通过查看历史日志的方式查看操作的sql语句



列的数据类型

数值

类型 描述 大小 备注
tinyint 十分小的数据 1个字节
smallint 较小的数据 2个字节
mediumint 中等大小的数据 3个字节
int 标准的整数 4个字节 常用
bigint 较大的整数 8个字节
float 浮点数 4个字节 存在精度问题
double 浮点数 8个字节 存在精度问题
decimal 字符串形式的浮点数 5-17字节 解决精度问题,金融计算一般用

参考https://www.w3schools.com/sql/sql_datatypes.asp

字符串

类型 描述 大小 备注
char 字符串固定大小 0-255
varchar 可变字符串 0-65535 常用
text 文本串 2^16-1 用于保存大文本

时间日期

类型 描述
date YYYY-MM-DD, 日期格式
time HH:mm:ss  时间格式
datetime YYYY-MM-DD HH:mm:ss 最常用的时间格式
timestamp 时间戳,1970.1.1到现在的毫秒数

null值不建议参与运算

字段的属性

Unsigned

  • 无符号整数,该列不能声明为负数

zerofill

  • 0填充,不足的位数,用零来填充
  • 比如声明 int(3) 之后,数值5会填充为 005

自增

  • 在上一条记录的基础+1
  • 通常设计为唯一主键
  • 可是定义起始值和步长

非空

当设置为not null, 不赋值会报错

默认

设置默认的值

每一个表都应该包括以下5个字段

id -- 主键
version -- 乐观锁
is_delete -- 伪删除
gmt_create -- 创建时间
gmt_update -- 修改时间

MySQL数据库之一的更多相关文章

  1. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  2. 当忘记mysql数据库密码时如何进行修改

    因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...

  3. MySQL数据库和InnoDB存储引擎文件

    参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...

  4. 一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库

    说起Oracle数据库,以前没用过Oracle不知道,但是这1年用Oracle后,发现真的是想狂吐槽,特别是那个.NET驱动和链接字符串,特别奇葩.总归是和其他数据库不一样,标新立异,不知道为何.另外 ...

  5. CentOS下mysql数据库常用命令总结

    mysql数据库使用总结 本文主要记录一些mysql日常使用的命令,供以后查询. 1.更改root密码 mysqladmin -uroot password 'yourpassword' 2.远程登陆 ...

  6. [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率

    使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...

  7. mysql数据库主从同步

    环境: Mater:   CentOS7.1  5.5.52-MariaDB  192.168.108.133 Slave:   CentOS7.1  5.5.52-MariaDB  192.168. ...

  8. PDO连接mysql数据库

    1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...

  9. mysql数据库开发常见问题及优化

    mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...

  10. 如何在删除ibdata1和ib_logfile的情况下恢复MySQL数据库

    昨天,有个朋友对公司内部使用的一个MySQL实例开启binlog,但是在启动的过程中失败了(他也没提,为何会失败),在启动失败后,他删除了ibdata1和ib_logfile,后来,能正常启动了,但所 ...

随机推荐

  1. NLNet-Theme for cnblogs

    这篇文档仅作为markdown在cnblogs中的渲染效果展示.第一部分NLNet' Samples为自定义内容的效果展示.NOTE 第二.三部分的Markdown Reference(From Ty ...

  2. 831A- Unimodal Array

    A. Unimodal Array time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  3. C# LINQ (2)

    Limiting Data -- Take() and Skip() 前面讲了 筛选 和 排序,现在讲 选取皇帝选妃,层层选拔,最后留几个,让他过目,他选一个或者几个作为妃子,大概是这么个意思Take ...

  4. codeforces 868B

    B. Race Against Time time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  5. JavaScript DOM操作之查找元素节点

    概要: 编程接口 可通过 JavaScript 对 HTML DOM 进行访问. 所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性. 方法是您能够执行的动作(比如添加或修改元素). ...

  6. pikachu-反射性xss(get)

    首先打开漏洞网页,发现输入的长度好像被限制了, 我们便F12查看源代码,发现长度被限制成了20,而且还是前端验证的,我们可以直接修改为100 在我们的输入框中,输入 <script>ale ...

  7. why 2020 you should create a new modern website with web fullstack

    why 2020 you should create a new modern website with web fullstack Full-Stack Web Development Front- ...

  8. git config all in one

    git config git global config # git global config $ git config $ git config --list --show-origin $ gi ...

  9. windows 内核模式读写内存

    sysmain.c #pragma warning(disable: 4100 4047 4024) #pragma once #include <ntifs.h> #include &l ...

  10. 「NGK每日快讯」2021.2.11日NGK公链第100期官方快讯!