34、mysql数据库(介绍)
34.1、什么是数据库:
数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、
描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。
34.2、数据库管理系统软件:
1、数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。
2、它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms
进行数据库的维护工作。
3、它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。
4、大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户
定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。
5、数据库管理系统是数据库系统的核心,是管理数据库的软件。数据库管理系统就是实现把用户意义下抽象的逻辑数据处理,转换成为计算
机中具体的物理数据处理的软件。有了数据库管理系统,用户就可以在抽象意义下处理数据,而不必顾及这些数据在计算机中的布局和物理位
置。
6、常见的数据库管理软件:甲骨文的oracle,IBM的db2,sql server,Access,Mysql(开源,免费,跨平台)。
34.3、数据库系统:
数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用
程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、
监控和维护整个数据库,使数据能被任何有权使用的人有效使用。
34.4、安装数据库:
1、linux:
yum -y install mariadb mariadb-server
OR
yum -y install mysql mysql-server
2、win:
http://dev.mysql.com/downloads/mysql/
3、启动:
service mysqld start
#开启
chkconfig mysqld on
#设置开机自启
OR
systemctl start mariadb
systemctl enable mariadb
4、查看:
ps aux | grep mysqld
#查看进程
netstat -an | grep 3306
#查看端口
5、设置密码:
mysqladmin -uroot password '123'
#设置初始密码,初始密码为空因此-p选项没有用
mysqladmin -uroot -p123 password '1234'
#修改root用户密码
6、登录:
mysql
#本地登录,默认用户root,空密码,用户为root@127.0.0.1
mysql -uroot -p1234
#本地登录,指定用户名和密码,用户为root@127.0.0.1
mysql -uroot -p1234 -h 192.168.31.95
#远程登录,用户为root@192.168.31.95
34.5、mysql常用命令:
1、登陆与退出命令:
(1)登录:
mysql -h 服务器IP -P端口号 -u用户名 -p密码 --prompt 命令提示符 --delimiter 指定分隔符
mysql -h 127.0.0.1 -P 3306 -uroot -p123
(2)退出:
quit------exit----\q;
2、my.ini文件:
[mysql]
default-character-set=gbk
#客户端编码
[mysqld]
character-set-server=gbk
#数据库编码
SHOW GLOBAL VARIABLES LIKE 'character%';
#查看数据库客户端和服务端的字符编码。
3、prompt 命令提示符:
\D:当前日期,\d:当前数据库,\u:当前用户
\T(开始日志),\t(结束日志)
4、其它:
(1)show warnings;
#显示错误信息
(2)help、?、\h
#帮助
(3)\G;
#单个横向显示
(4)select now();
#显示现在时间
(5)显示数据库版本:
select version();
(6)显示当前登录的用户:
select user();
(7)取消命令:
\c
(8)指定分隔符:
delimiter
(9)查看当前使用的数据库:
select database();
34.6、mysql忘记密码怎么办:
1、方法一:启动mysql时,跳过授权表(推荐):
[root@controller ~]# service mysqld stop
[root@controller ~]# mysqld_safe --skip-grant-table &
[root@controller ~]# mysql
mysql> select user,host,password from mysql.user;
+----------+-----------------------+-------------------------------------------+
| user | host | password |
+----------+-----------------------+-------------------------------------------+
| root | localhost | *A4B6157319038724E3560894F7F932C8886EBFCF |
| root | localhost.localdomain | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | localhost.localdomain | |
| root | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+----------+-----------------------+-------------------------------------------+
mysql> update mysql.user set password=password("123") where user="root" and host="localhost";
mysql> flush privileges;
mysql> exit
[root@controller ~]# service mysqld restart
[root@controller ~]# mysql -uroot -p123
2、方法二:删库(不推荐):
删除与权限相关的库mysql,所有的授权信息都丢失,数据库重启后会重新建立新的mysql库,主要用于测试
数据库或者刚刚建库不久没有授权数据的情况(从删库到跑路)。
[root@controller ~]# rm -rf /var/lib/mysql/mysql
[root@controller ~]# service mysqld restart
[root@controller ~]# mysql
34.7、sql及其规范:
1、sql是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库
操作的基础,并且现在几乎所有的数据库均支持sql。
2、在数据库系统中,SQL语句不区分大小写(建议用大写),但字符串常量区分大小写,建议命令大写,表名库名小写。
3、(sql语句可以折行操作)SQL语句可单行或多行书写,以“;”结尾,关键词不能跨多行或简写。
4、用空格和缩进来提高语句的可读性,子句通常位于独立行,便于编辑,提高可读性。
例:SELECT * FROM tb_table
WHERE NAME="LC";
5、注释:
(1)单行注释:--
(2)多行注释:/*......*/
6、SQL中DML、DDL、DCL的区别:
(1)DML(data manipulation language):
数据库管理语言:是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的
数据进行操作的语言。
(2)DDL(data definition language):
数据库定义语言:DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)
的结构、数据类型、表之间的链接和约束等初始化工作上,他们大多在建立表时使用。
(3)DCL(Data Control Language):
数据库控制语言:是用来设置更改数据库用户或角色权限的语句,包括grant,deny,revoke等语句。在默认状态下,只有
sysadmin、dbcreator、db_owner、db_securityadmin等人员才有权力执行DCL。
COMMIT
#提交
SAVEPOINT
#保存点
ROLLBACK
#回滚
SET TRANSACTION
#设置当前事务的特性,它对后面的事务没有影响
7、在MySQL中删除一张表或一条数据的时候,出现
[Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails (...),
这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避
免这种情况。我们可以使用 SET global/session FOREIGN_KEY_CHECKS=0; 来禁用外键约束,之后再用
SET global/session FOREIGN_KEY_CHECKS=1; 来启动外键约束,查看当前 FOREIGN_KEY_CHECKS 的值可用如下命
令 SELECT @@/@FOREIGN_KEY_CHECKS; show global/session variables like 'FOREIGN_KEY_CHECKS';
#提示:@ 表示局部变量,@@ 表示全局变量。
8、表于表之间的关系:
一对一:班级和班号(一个班级对应一个班号,一个班号对应一个班级),学生姓名和学号(一个学生对应一个学号,一个学号对应一个学生)。
一对多:班级和学生(一个班级有多个学生,一个学生只属于一个班级),学校和学校中的院系(一个学校有多个院系,一个院系只属于这一个学校)。
多对多:学生和课程(一个学生可以选多门课程,一门课程可以被多个学生选),教师和学生(一个教师可以带多个学生,一个学生可以有多个老师带)。
34、mysql数据库(介绍)的更多相关文章
- Mysql数据库介绍、安装和配置文件
Mysql数据库介绍.安装和配置文件 MySQL数据库介绍 mysql是开源关系型数据库,遵循GPL协议. mysql的特点是性能卓越且服务稳定,开源,无版本限制,成本低,单进程多线程,多用户,基于C ...
- PHP访问MySql数据库介绍
在网站后台,经常要与数据库打交道.本文介绍如何使用XAMPP来管理MySql数据库及如何用PHP来访问MySql数据库. 一.使用XAMPP来管理MySql数据库 首先使用XAMPP打开MySql的管 ...
- Mysql 数据库介绍
数据库介绍 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API接口用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中, ...
- MySQL数据库 介绍,安装,基本操作
- 数据库介绍: 1.随意存放在一个文件中的数据,数据的格式千差万别 tank|123 jason:123 sean~123 2.软件开发目录规范 - Project: - conf - bin - ...
- mysql数据库介绍
一.数据库概述 二.MySql安装和基本管理 三.mysql基本语句 四.库的操作 五.表的操作 六.数据类型 七.数据类型二 八.完整性约束 九.外键的变种 三种关系 十.数据的增删改 十一.多表查 ...
- 转 MySQL数据库基础
http://lib.csdn.net/article/mysql/57883 1 数据库基础 一.数据库与数据库管理系统 1.数据库(DB):存放数据的仓库,从广义来说,数据不仅包括数字,还包括了文 ...
- MySQL入门介绍(mysql-8.0.13)
MySQL入门介绍(mysql-8.0.13单机部署) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL数据库介绍 1>.MySQL是一种开放源代码的关系型数据库 ...
- MySQL数据库的安装和配置
MySQL数据库介绍 什么是数据库DB? DB的全称是database,即数据库的意思.数据库实际上就是一个文件集合,是一个存储数据的仓库,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进 ...
- MySQL数据库初体验
一.数据库的基本概念1.数据(Data) 描述事物的符号记录 包括数字,文字,图形,图像,声音,档案记录等 以"记录"形式按统一的格式进行存储 2.表 将不同的记录组织在一起 用来 ...
- 26.MySQL数据库基础
MySQL数据库基础 目录 MySQL数据库基础 数据库的概念 数据 表 数据库 数据库的管理系(DBMS) 数据库系统 访问数据库的流程 数据库系统发展史 当今主流数据库介绍 关系数据库 关系数据库 ...
随机推荐
- [bug] logback error FileNotFoundException
问题 在gitee上下载的项目,运行报错 原因 原程序中设置了日志保存路径,我的电脑没有,需要手动创建 参考 https://blog.csdn.net/danchaofan0534/article/ ...
- [bug] Importing maven project 卡在%9不动
参考 Importing maven project 卡在%9不动 https://blog.csdn.net/weixin_43197380/article/details/89220337
- [bug]mysql: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone
原因: 时区设置有误 解决: 在mysql中修改时区设置: 或 在JDBC代码中增加时区设置: Connection c = DriverManager.getConnection("jdb ...
- shell脚本 在后台执行de 命令 >> 文件 2>&1 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)
命令 >> 文件 2>&1或命令 &>> 文件 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面) # ll >>aaa 2> ...
- ltp循环跑
e]# cat r3.sh#!/bin/bashi=1for ((; i<=1000; i++))do/opt/ltp/runltp -s fmtmsg01 -p -l -t -l /home/ ...
- iozone的使用与介绍-20191105
https://www.jianshu.com/p/faf82e400aa6 iozone的使用与介绍 0.0722017.05.10 07:40:41字数 550阅读 1817 iozone的使用与 ...
- Centos6.8安装mysql 步骤
第1步.查看CentOS下是否已安装mysql 输入命令 :yum list installed | grep mysql 第2步.删除已安装mysql 输入命令:yum -y remove mysq ...
- CAP 与数据一致性
分布式系统的假设是,工作在网络环境下的系统拥有多个节点,而这些节点本身会由于各种原因而变得不稳定.这其中就有一个非常重要的概念--CAP原理.这个原理指导着大多数分布式系统的设计过程,CAP原理大致是 ...
- Centos7挂载windows共享目录
将windows的共享目录挂载到Centos7 查看是否有mount.cifs命令,如果没有,在线安装 [root@dropbox-bak01 ~]# yum install cifs-utils - ...
- PHP常用函数记录
1.mixed print_r(mixed $expression [,bool $return=false ]) 打印变量信息. 相关的函数还有var_dump().var_export() $re ...