Mysql数据库学习(一):数据库基本概念、关系型数据库、Mysql数据库安装配置、DDL/DCL/DML语句

一、数据库基本概念

数据库(DB)

按照数据结构来组织、存储数据的仓库

数据库管理系统(DBMS)

数据库管理系统(Database Management System)是一套操纵和管理数据库的软件,是用于建立、使用和维护数据库

数据库系统(DBS)

数据库 数据库管理系统(及其开发工具) 应用系统 数据库管理员 用户

二、关系数据库

关系数据库

采用关系模型作为数据组织方式。简单地说数据的逻辑结构是一张二维表,由行和列组成。表的每一行为一个元组,每一列为一个属性。

关系的完整性约束

实体完整性

主键不为空(不能重复)

参照完整性(外键)

或者为空,或者等于另一个关系的主码值

用户定义的完整性

用于设置某个属性的取值范围

如果将民族编码和部门编码设置为外键,那么出现的值必须为1 or 2 or NULL。

常见的关系型数据库:

1.MySQL 2.SQL Server 3.Oracle 4.Sybase 5.DB2 6. Informix 7.Access

三、数据库设计三范式

1NF,数据库表的每一列都是不可分割的基本数据项

2NF,首先满足1NF,要求数据库表中的每个实体必须可以被唯一地区分(主关键字),要求实体的非主属性完全依赖于主关键字

3NF,首先满足2NF,每一列数据都和主键直接相关,而不能间接相关,即不能传递依赖于主关键字

最后满足三范式拆分为多个表:

学号 姓名 系号

系号 系名 系主任

学号 课程号 成绩

课程号 课程

四、Mysql数据库的安装启动

mysqld.exe 服务器端程序(如果安装的时候没有启动,则在cmd 中 mysqld -install) mysql.exe 客户端程序 (用于连接数据库,也推荐使用navicat) 其它工具集 启动服务

通过服务控制面板来控制(services.msc)

通过命令行

net start MySQL net stop MySQL

修改密码:

mysqladmin -u root -poldpass password newpass mysqladmin -usimba -p123456 password 123 /*要有权限才可以修改*/

如果重装,需要把regedit 注册表中有关mysql的部分清理干净

服务器启动时会读取my.ini 配置文件,如果没有,可以直接创建一个,类似如下的内容:

[mysqld] #绑定IPv4和3306端口 bind-address = 0.0.0.0 port = 3306 # 设置mysql的安装目录 basedir=D:/mysql-5.6.13 # 设置mysql数据库的数据的存放目录 datadir=D:/mysql-5.6.13/data # 允许最大连接数 max_connections=200

五、一些基本的DDL/DCL/DML语句

SQL即StructuredQuery Language;

DDL( Data Definition Language数据定义语言)

——用来建立数据库、数据库对象和定义其列 ——CREATE 、DROP 、ALTER 等

DCL( Data Control Language数据控制语言)

——用来控制存取许可、存取权限等; ——GRANT、REVOKE 等;

DML( Data Manipulation Language数据操作语言)

——查询、插入、删除和修改数据库中的数据; ——SELECT、INSERT、 UPDATE 、DELETE等;

create database dbname [数据库选项]; /* 如果数据库名是特殊的如 234 或者保留名称如 database,那么需要使用反引号`` 括起来 */

show create database dbname;    /* 创建过程都做了哪些设置 */

alter database dbname character set gbk     /* 支持中文 */

create user username identified by '123456' /* 密码用引号括起 */

grant select,insert,update,delete on *.* to username @'%' identified by '123456' /*  *.*表示任意数据库的任意表  '%'表示任意主机 */
# 注:grant 会 在 系统增加一个 user.

grant all privileges on *.* to username@'%'
revoke all privileges on *.* from username@'%'

# kill 掉特定用户的所有连接

mysql>select concat('KILL ',id,';') from information_schema.processlist where user='root' into outfile '/tmp/a.txt'; Query OK, 2 rows affected (0.00 sec) mysql>source /tmp/a.txt; Query OK, 0 rows affected (0.00 sec)

#杀掉锁定的MySQL连接

for id in `mysqladmin processlist|grep -i locked|awk -F '|' '{print $2}'`; do    mysqladmin kill ${id}; done 

#mysql 进入shell 环境

mysql> \! sh

sh-4.1$ exit exit

六、常见错误

1). Can't connect to local MySQL server through socket '/tmp/mysql.sock'

这时候先看 tmp 目录下是否有 mysql.sock 这个文件,如果/tmp下有该文件的话就是权限问题(看是否是 mysql 客户端连接,还是 

apache->php 连接),如果没有则 find /  -name 'mysql.sock' 看这个文件存在哪个目录,假如是 /var/lib/mysql/mysql.sock,直接

建一个软链接,ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock  。

2).Access denied for user 'zabbix'@'localhost' (using password: YES)

一般是权限或者密码错误问题,grant 一下权限。

参考:

《数据库系统概论》

mysql 5.1 参考手册

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Mysql占用过高CPU时的优化手段

Mysql占用CPU过高的时候,该从哪些方面下手进行优化? 占用CPU过高,可以做如下考虑: 1)一般来讲,排除高并发的因素,还是要找到导致你CPU过高的哪几条...

51111
来自专栏Danny的专栏

PL/SQL和SQLPLUS查询结果不一样——千万别忘记commit !

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

752
来自专栏杨建荣的学习笔记

关于date格式的两个案例(r4笔记第96天)

在工作中总是会碰到各种和date相关的问题,一般这种问题都是让人很纠结的。 比如前几天一个朋友和我分享了他关于时间问题的两个案例。 第一个是他在做impdp导入...

2974
来自专栏维C果糖

史上最简单的 MySQL 教程(二十二)「数据的高级操作 之 更新 & 删除」

此外,在删除记录的过程中,如果表中存在自增长的主键,那么删除之后,自增长不会还原。执行如下 SQL 语句,进行测试:

3438

使用Excel分析CloudStack使用记录

本文的内容最初由David Nailey在Build a Cloud博客上撰写。

18010
来自专栏思考的代码世界

Python网络数据采集之存储数据|第04天

存储媒体文件有两种主要的方式:只获取文件 URL 链接,或者直接把源文件下载下来。

4167
来自专栏张善友的专栏

重新审视SqlDataReader的使用

      ADO.NET 1.x 利用SqlDataReader读取数据,针对每个结果集需要一个独立的连接。当然,你还必须管理这些连接并且要付出相应的内存和潜...

1869
来自专栏数据和云

impdp create index parallel-数据泵并行创建索引

题记:在数据泵导入时默认情况下创建索引是不使用并行的,所以这一步会消耗较长的时间,除了人工写脚本并行创建索引外,数据泵在导入时也可以并行创建索引,本文详细介绍了...

3394
来自专栏维C果糖

史上最简单的 MySQL 教程(二十一)「数据的高级操作 之 蠕虫复制」

蠕虫复制:从已有的数据表中获取数据,然后将数据进行新增操作,数据成倍(以指数形式)的增加。

4157
来自专栏量化投资与机器学习

战斗民族开源神器ClickHouse:一款适合于构建量化回测研究系统的高性能列式数据库(二)

编辑部原创 编译:wally21st、 西西 未经允许,不得转载 Tutorial 对于一些私募、投资机构和个人来说,量化投资研究、回测离不开数据的支持。当数据...

1.3K6

扫码关注云+社区