MySQL —— 数据库基础

在这里插入图片描述


阅读原文


前言

MySQL 是目前使用最广泛的关系型数据库,是在软件开发中所必备的技能之一,这是关于 MySQL 的系列文章,将从 MySQL 的基本概念、基本使用、SQL 语句、函数、聚合函数、表连接以及表设计等多方面对 MySQL 进行总结,而本篇是数据库基础部分,大多都是一些概念性的内容和表的创建,数据库博大精深,本系列文章内容较浅,适合于前端的同学们对 MySQL 的入门,当然这也是我的学习笔记,希望可以帮助大家。


MySQL 的基本概念

**MySQL 的特点:**开源免费、性能高、安装使用简单。

MySQL 的作用:

  • 存储大量数据,方便检索和访问;
  • 保持数据信息的一致、完整;
  • 实现数据的共享和安全;
  • 通过组合分析产生新的有用信息。

**实体:**只要是客观存在,能够被描述出来的都是实体,每一条数据都是一个实体。

**DB:**是数据库的意思,就是存储数据的仓库,可以存放结构化的数据。

**DBMS:**代表数据管理系统,是一种系统软件,提供操作数据库的环境,如 Navicat for MySQL,可以通过数据库管理系统对数据进行增、删、改、查。

**SQL:**结构化查询语言,专门用来和数据库进行交流的语言,几乎所有的 DBMS 都支持 SQL

数据表:

  • 表是数据库中包含所有数据的数据库对象,也是其他对象的基础;
  • 表定义是一个集合,数据在表中是按行和列的格式组织的,用来存放数据;
  • 行被称为记录,用来存放一个实体,列称为字段用来描述实体的某一个属性。

MySQL 的配置和命令

1、MySQL 配置

在 MySQL 的默认安装目录中 my.ini 文件是专门用来配置的,常用配置项如下:

  • port:端口号;
  • basedir:安装目录;
  • datadir:数据存放目录
  • charcter-set-server:字符集;
  • default-storage-engine:存储引擎;
  • sql-mode:语法模式;
  • max-connections:最大连接数。

2、MySQL 命令

MySQL 服务启动和停止:

net start MySQL
net stop MySQL

连接和退出数据库:

mysql -h 127.0.0.1 -P 3306 -uroot -p123456
exit

-h 代表主机名,-p 代表端口号,-u-p 分别代表当前 MySQL 服务的账号和密码。

查看当前 MySQL 中的数据库:

show dbs;
show database;

切换数据库:

use dataname;

查看数据库的表:

show tables;
show tables from mysql;

查看当前所在的数据库:

select database();

查询表结构:

desc tablename;

数据完整性

数据完整性是指,数据库种所有数据值均为正确状态,如果数据存储有不正确的的数据值,则该数据库丧失数据完整性,为了实现数据完整性,需要检验数据库表中每行每列的数据是否符合要求,在创建表时,应该保证以后输入的数据都是正确的,错误的数据不允许输入。

1、域(列)完整性

域完整性是对数据表中字段属性的约束,通常指数据的有效性,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的,如关于年龄的字段,数据类型应为 int,关于普通的字符串值得类型应该为 varchar 等等,并在规定值类型时相应得规定值的长度,即所占的字节数。

数据类型图如下:
在这里插入图片描述

数值类型整数型:

  • tinyint:存储所占 1 字节,无符号可以存储 0 ~ 255,有符号可以存储 -128 ~ 127
  • smallint:存储所占 2 字节,无符号可以存储 0 ~ 65535,有符号可以存储 -32768 ~ 32767
  • mediumint:存储所占 3 字节,无符号可以存储 0 ~ 16777215,有符号可以存储 -8388608 ~ 8388607
  • int:存储所占 4 字节,无符号可以存储 0 ~ 4294967295,有符号可以存储 -2147483648 ~ 2147483647
  • bigint:存储所占 8 字节,无符号可以存储 0 ~ 18446744073709551615,有符号可以存储 -9223372036854775808 ~ 9223372036854775807

上面的整数型用来规定字段存储的数据必须为整数,从上到下需要占用的空间越来越多,能表示的数字也越来越大,定义字段时选择满足需求的数字范围即可。

数值类型小数型:

  • float:单精度浮点型,存储所占 4 字节,数值范围为 -3.4E38 ~ 3.4E387 个有效位;
  • double:双精度浮点型,存储所占 8 字节,数值范围为 -1.7E308~1.7E30815 个有效位;
  • decimal:定点型,存储所占 16 字节,28
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mysql示例数据库 employee,这个大家也可以到github官网下载。 https://github.com/datacharmer/test_db test_db A sample database with an integrated test suite, used to test your applications and database servers This repository was migrated from Launchpad. See usage in the MySQL docs Where it comes from The original data was created by Fusheng Wang and Carlo Zaniolo at Siemens Corporate Research. The data is in XML format. http://timecenter.cs.aau.dk/software.htm Giuseppe Maxia made the relational schema and Patrick Crews exported the data in relational format. The database contains about 300,000 employee records with 2.8 million salary entries. The export data is 167 MB, which is not huge, but heavy enough to be non-trivial for testing. The data was generated, and as such there are inconsistencies and subtle problems. Rather than removing them, we decided to leave the contents untouched, and use these issues as data cleaning exercises. Prerequisites You need a MySQL database server (5.0+) and run the commands below through a user that has the following privileges: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW Installation: Download the repository Change directory to the repository Then run mysql < employees.sql If you want to install with two large partitioned tables, run mysql < employees_partitioned.sql Testing the installation After installing, you can run one of the following mysql -t < test_employees_md5.sql # OR mysql -t < test_employees_sha.sql For example: mysql -t < test_employees_md5.sql +----------------------+ | INFO | +----------------------+ | TESTING INSTALLATION | +----------------------+ +--------------+------------------+----------------------------------+ | table_name | expected_records | expected_crc | +--------------+------------------+----------------------------------+ | employees | 300024 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值