简介:

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。
MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。
MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。
PS:参考资料: https://baike.baidu.com/item/MySQL%E6%95%B0%E6%8D%AE%E5%BA%93/10991669?fr=aladdin

数据库的相关知识

  数据库不应该之间存放视频或者文件的,而存放的应该是相对应的链接。数据库的软件还需要有缓存机制的,用了记录用户登录的状态。

  关系型数据库:就是表与表之间的关系,或者是有表结构

  非关系型数据库:数据都是key对应Value存放的,都是存放在内存中的,读取数据是非常快的。主要是记录状态和支持持久化,而且还会定期将记录刷到硬盘上。

  非关系数据库的典型有:redis,mecache

  文件和数据库的关系:文件中的内容就是数据库的一条记录;文件夹中的文件就是一张表;一个文件夹就是数据库里面的一个库。

  查看一个文件:打开连接---》切到一个文件下---》找到一个文件---》打开文件---》读取记录---》关闭文件---》关闭连接 (优化,加锁处理,权限认证)

  安装数据库指的是:数据库管理系统。

  创建数据库指的是:创建一个''文件夹''。

  关系型数据库的管理系统:mysql , orcale , mariadb , db2 , sql server

  非关系型数据库:数据都是以key=value的形式存放的。

  数据库服务器指的是:安装有数据库管理系统软件的一台机器。

文件与数据库:

  文件                                                                    数据库

 一行内容                                                              一条记录

 一个文件                                                              一张表

 一个文件夹                                                             一个库

mysql基本使用:

  netstat  -an | dindstr  3306 :创建端口,数据库的端口默认就是3306

  1、mysql  -uroot  -p123 :登录

  2、select  user(); :查看用户

  3、quit、exit、\q :退出       \c  : 不执行该条语句

  4、help create user; :查看帮助信息

  5、create  user '用户名'@'localhost' :创建本地账号

       create  user '用户名'@''ip地址'  或者  create  user '用户名'@'192.168.*' :指定IP或者是在该网段

       create  user '用户名'@'%’ :只有能拼接,都能链接起来

       后面加上:identified   by  '密码’  :创建用户同时设置密码

  6、grant all privileges :放行所有权限,不包括grant

     grant all on 路径.表名 to '用户名'@‘%’:放行某张表的所有权限

       grant all on *.* to 'egon’@'%':放行所有的权限给egon这个用户

       grant select :授权查看

       flush privileges; :刷新权限

  7、grant all privileges on *.* to '用户名’@'%' identified by '123'; :创建账号同时授权

  8、mysql -u用户名 -p密码 -hip地址 :远程连接

  9、show databases;:查看所有的数据库

  10、mysqladmin -u用户名 -p‘’密码‘’ password 修改的密码 :修改密码

  11、破解密码的步骤:

      杀死mysqld服务:tasklist | findstr mysql :查看当前开启的进程

              tskill mysqld                :按照进程名杀死mysql服务

              taskkill -f /PID 5320    :按照PID杀死mysql服务,如果前面的不行杀死,就用后面的那一种

      跳过授权表启动:mysql  --skip-grant-tables

      修改密码:update mysql.user set password=password('密码')where user='用户名’ and host='localhost;第二个password是一个函  数,where后面跟上条件,过滤条件

      刷新权限:flush privileges

             tskill mysqld

             tasklist | findstr mysql

             mysqld

      重新以新密码登录!!!

mysql 增删改查命令:

 操作库(文件夹):

  增:

   create database 库名 charset 字符编码

  查:

   show databases        :查看数据库下面的所有库

   show create database 库名      #查看某一个库

  改:

   alter database 库名 charset 字符编码       :现在修改库的也只有字符编码了

  删:

   drop database 库名:   删除一个库

 操作表(文件)

  use 库名      :切换库

  select database()    :查看当前所在的库

  增:

   create table t1(表的标题,以逗号分开,标题规定类型)  :创建一张表

   后面可以加上:egine=innodb   :储存引擎,就是表的类型,这个制订了一张表对应几个文件。

   添加上一个字段:alter table 表名 add 字段名 类型

   表里面的一些类型:int()   :整数类型括号里面传入数字定义长度

            char()      :字符串类型括号里面传入数字可以指定长度

            not null unique       :不能传入一个空的记录

            primary key           :不能为空,并且还要唯一

  查:

   show tables    :查看表

 show create table 表名    :查看某一张表

   desc 表名    :查看表结构

  改:

   alter table 表名 charset   编码格式     :修改编码格式

   default charset 编码格式    :修改字符编码

   alter table 表名 modify 字段名  类型     :修改字段类型

   alter table 表名 change 字段名1 字段名2 类型      :修改字段名

  删:

   drop table 表名   :删除一个表

 操作记录(数据)

   增:

    insert into 路径 .表名(标题) values (记录),(记录),(记录),(记录);

   查:

    select 字段 from 路径.表名        :查看某些字段信息

    select * from 路径.表名             :查看所有的信息

   改:

    update  路径.表名 set 字段=记录     :修改改字段的记录

    update 路径.表名 set  字段=记录 where 字段=记录     :修改具体某一个的信息

   删:

    delete from 路径.表名    :删除整个表记录,仅仅只哦于删除的效果,没有吧表重置到初始状态的功能

    delete from 路径.表名 where 条件      :按照某个条件删除

    truncate 路径.表名       :情况表,并且还可以重置

补充:将mysql做成系统服务: mysql --install

           取消:mysql --romove

      在服务中可以直接鼠标操作mysql服务的启动与停止

      在cmd中也可以操作

      net start mysql

      net stop mysql

练习:

1 创建一个课程表:

mysql> create table class(cid int primary key auto_increment,->                  acption char(5));
Query OK, 0 rows affected (0.21 sec)mysql> insert into fang.class(acption)values('三年二班'),->                                  ('一年三班'),->                                  ('三年一班');
Query OK, 3 rows affected (0.06 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql> select * from fang.class;
+-----+----------+
| cid | acption  |
+-----+----------+
|   1 | 三年二班 |
|   2 | 一年三班 |
|   3 | 三年一班 |
+-----+----------+
3 rows in set (0.00 sec)

2 创建一个学生表:

mysql> create table student(sid int primary key auto_increment,->                          sname char(5),->                          gender char(5),->                          class_id int(100));
Query OK, 0 rows affected (0.24 sec)mysql> insert into fang.student(sname,gender,class_id)values('钢蛋','女',1),->                                                  ('铁锤','女',1),->                                                  ('山炮','男',2);
Query OK, 3 rows affected (0.25 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql> select * from fang.student;
+-----+-------+--------+----------+
| sid | sname | gender | class_id |
+-----+-------+--------+----------+
|   1 | 钢蛋  | 女     |        1 |
|   2 | 铁锤  | 女     |        1 |
|   3 | 山炮  | 男     |        2 |
+-----+-------+--------+----------+
3 rows in set (0.03 sec)

3 创建一个老师 表:  

mysql> create table teacher(tid int primary key auto_increment,->                          tname char(5));
Query OK, 0 rows affected (0.25 sec)mysql> insert into teacher(tname)values('波多'),->                                  ('苍空'),->                                  ('饭岛');
Query OK, 3 rows affected (0.07 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql> select * from fang.teacher;
+-----+-------+
| tid | tname |
+-----+-------+
|   1 | 波多  |
|   2 | 苍空  |
|   3 | 饭岛  |
+-----+-------+
3 rows in set (0.00 sec)

4 创建一个课程表:  

mysql> create table course(cid int primary key auto_increment,->                          cname char(5),->                          tearch_id int(100));
Query OK, 0 rows affected (0.48 sec)mysql> insert into fang.course(cname,tearch_id)values('生物',1),->                                  ('体育',1),->                                  ('物理',2);
Query OK, 3 rows affected (0.04 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql> select * from fang.course;
+-----+-------+-----------+
| cid | cname | tearch_id |
+-----+-------+-----------+
|   1 | 生物  |         1 |
|   2 | 体育  |         1 |
|   3 | 物理  |         2 |
+-----+-------+-----------+
3 rows in set (0.03 sec)

5 创建一个成绩表:  

mysql> create table score(sid int primary key auto_increment,->                          student_id int(100),->                          corse_id int(100),->                          number int(3));
Query OK, 0 rows affected (0.23 sec)mysql> insert into fang.score(student_id,corse_id,number)values(1,1,60),->                                                          (1,2,59),->                                                          (2,2,100);
Query OK, 3 rows affected (0.05 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql> select * from fang.score;
+-----+------------+----------+--------+
| sid | student_id | corse_id | number |
+-----+------------+----------+--------+
|   1 |          1 |        1 |     60 |
|   2 |          1 |        2 |     59 |
|   3 |          2 |        2 |    100 |
+-----+------------+----------+--------+
3 rows in set (0.00 sec)

  

转载于:https://www.cnblogs.com/bsxq/p/7729170.html

Mysql 数据库(一)相关推荐

  1. .net连接mysql数据_.net连接MYSQL数据库的方法及示例!

    连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...

  2. MySQL数据库+命令大全+常用操作

    格式:mysql -h主机地址 -u用户名 -p用户密码 1. 例:连接到本机上的MYSQL 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示 ...

  3. mysql数据库是一个软件呐_15款好用的mysql管理软件

    1. Induction Induction是一款用于理解数据关系的开源管理工具,它可用来探索行/列,运行查询和数据可视化等方面.该工具支持多种数据库,包括PostgreSQL,MySQL,SQLit ...

  4. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

  5. C语言对mysql数据库的操作

    C语言对mysql数据库的操作 原文:C语言对mysql数据库的操作 这已经是一相当老的话题.不过今天我才首次使用,把今天的一些体会写下来,也许能给一些新手带来一定的帮助,更重要的是供自己今后忘记的怎 ...

  6. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  7. python用django连接mysql_三分钟了解Django如何连接Mysql数据库

    处理用户注册请求.Django连接MysqL数据库相关配置.数据库迁移命令: my_Dproject/app01/views.py    在views函数文件中添加register函数,来处理用户注册 ...

  8. mysql数据库比对视频教程_MySQL数据库全学习实战视频教程(27讲 )

    一)mySQL数据库简介:MySQL属于关系型数据库,是当前最流行的关系型数据库管理系统之一,在WEB项目使用方面,MySQL是最好的 RDBMS应用软件. 二)本mySQL数据库视频教程目录如下:  ...

  9. eclipse关闭mysql数据库,有关于用eclipse连接mysql数据库出现的问题以及解决办法

    写帖子是为了让更多的程序员减少再调试bug中的时间,也希望大家能一起把自己遇到的错误及解决方法写出来.我是一个刚开始学java的大二学生,用的是<java开发实战经典>.在写p646的程序 ...

  10. bd2和mysql语法区别,经验:在MySQL数据库中,这4种方式可以避免重复的插入数据!...

    最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下 ...

最新文章

  1. 垃圾回收器的基本原理是什么?
  2. OpenCV特征检测Feature Detection
  3. Swift5.x使用纯代码创建NavigationTab控制器设置启动图Wb第1部分
  4. C语言代码规范(十)花里胡哨代码鉴赏
  5. From AlphaGo Zero to 2048论文分享
  6. RTMP协议学习笔记
  7. 有大招儿?请收下这份关于数据与智能的晋级攻略!
  8. android动态添加圆,Android开发中TextView 实现右上角跟随文本动态追加圆形红点
  9. Java新手求助,将两个文件合并为一个文件执行程序是发生的问题
  10. pycharm ubuntu 安装_pycharm使用远程python解释器
  11. FlexPaper查看.swf文件的使用方法
  12. 前端做CRM管理系统是做什么_总结一下最近做crm客户管理系统使用到的前端知识点...
  13. hardfault常见原因_stm32 HardFault_Handler调试及问题查找方法
  14. 使用yum命令创建缓存时报错:Peer cert cannot be verified or peer cert invalid
  15. 2020,我不想奋斗了
  16. C语言基本语法——循环篇(三种常见的循环)
  17. 淘宝、天猫、京东主图及详情页尺寸
  18. sql语句(select,create,drop,alter,delete,insert,update,grant)
  19. 思想的沉淀,精辟,杨澜如是说
  20. lm283_飞利浦Tango LED泛光灯BVP283-普照网

热门文章

  1. 关于Python爬虫种类、法律、轮子的一二三
  2. 阿里p8推荐,测试覆盖率工具—Jacoco,实用性极佳
  3. 源码之 Retrofit
  4. CSSHTMLREM制作手机端网页(小练习)
  5. k1658停运_2016年10月20日火车停运信息
  6. CCF系列题解--2016年9月第二题 火车购票
  7. 全局、独享、局部路由守卫
  8. Valine 一款快速、简洁且高效的无后端评论系统
  9. gpt.4.0-gpt 国内版
  10. zzuoj 10400: B.海岛争霸