当前位置: 首页 > news >正文

百度合作的网盟网站百度竞价开户费用

百度合作的网盟网站,百度竞价开户费用,wordpress博客主题修改,网站开发技术 报告目录 什么是数据库 从软件角度出发 从网络角度出发 MySQL数据库的client端和sever端进程 mysql的client端进程连接sever端进程 mysql配置文件 MySql存储引擎 MySQL的sql语句的分类 数据库 库的操作 创建数据库 不同校验规则对查询的数据的影响 不区分大小写 区…

目录

什么是数据库 

从软件角度出发

从网络角度出发 

MySQL数据库的client端和sever端进程

mysql的client端进程连接sever端进程

mysql配置文件

MySql存储引擎 

MySQL的sql语句的分类 

数据库 库的操作

创建数据库

不同校验规则对查询的数据的影响

不区分大小写

 区分大小写

查看数据库

​编辑

查看数据库创建语句

修改数据库(强烈不建议)

​编辑

删除数据库 

​编辑 查看连接状态 

表的操作

创建表 

查看表结构 

对表的操作 

向表中插入记录

向表中插入新的字段 

修改表的某一个字段(强烈不建议)

修改表名(强烈不建议)

删除表的某一字段

删除表


         在此之前,我们已经学习了C++,数据结构,操作系统和计算机网络的相关知识,本期开始,我们将进行MySQL数据库相关知识的学习。

什么是数据库 

        数据库是一个大家都耳熟能详的技术,但是数据库到底是什么呢?

        要了解数据库是什么,我们可以从两个角度去探讨数据库是什么。

从软件角度出发

        应用层的软件中的一些表的数据,其实都是持久化存储在磁盘之上的,我们要去磁盘上访问表中的数据,这是很麻烦的一件事,我们要自己在应用层软件之中写入大量的访问磁盘中表数据的接口,这样就会导致,应用层软件访问表资源的效率非常的慢,且应用层软件设计时非常的复杂。所以我们引入了数据库的概念,数据库其实就是基于应用层软件和磁盘中间的一个应用层软件,可以帮助用户进行复杂的表的各种增删查改操作,因为其里面封装了大量的增删查改接口。

图示如下。 

从网络角度出发 

        数据库我们也可以称其为一款网络服务,但这其实并不是一个准确的说法,更准确的说法应该其实就是一款客户端进程和服务器端进程组合起来的一种进行数据存储技术。 

图示如下。

        我们通过netstat -nltp查看MySQL数据库的网络服务。

        大家只需要记得, 数据库中包含了网络服务就行,这个网络服务是可以被多个client端进程访问的,所以数据库安全问题就此产生,不过这不是我们本期的重点。

        数据库的种类有很多种,我们要学习的是一款应用最为广泛的数据库,即MySQL数据库。 

MySQL数据库的client端和sever端进程

        我们上文已经讲过了,数据库本质上其实就是两个进程,一个是client端mysql进程,一个是sever端mysql进程。

         一般情况下,我们自己使用数据库时,client端数据库进程和sever端数据库进程都是处于同一台主机的,我个人的mysql进程和mysqld进程是出于同一服务器主机上的。对应的目录分别为。

  1. client端mysql进程(可执行程序)路径:/usr/bin/mysql
  2. sever端mysql进程(可执行程序)路径:/usr/sbin/mysqld

mysql的client端进程连接sever端进程

连接指令如下。

mysql -h 127.0.0.1 -P 3306 -u root -p

-h表示连接的主机的ip地址,-p表示连接的主机中对应的端口号,-u代表登录数据库的用户试是谁,-p代表着要输入密码。 

mysql配置文件

在/etc目录下有一个my.cnf文件,这个文件为MySQL的client端进程mysql和sever端进程mysqld的配置文件。

MySql存储引擎 

可以通过show engine查看mysql支持的存储引擎。

        mysql中常用的存储引擎就是InnoDB和MyISAM。 

        说了这么多,那么这个存储引擎到底是个啥?

        上文我们已经讲过了,client端mysql进程发送sql请求至sever端mysqld进程,然后mysqld进程处理sql语句创建数据库和数据库表,我们也说过了创建的数据库和数据库表会存储在主机中的特定的目录下,数据库和数据库表都是文件,也就意味着创建的数据库和数据库表最终会持久化在磁盘上。此时存储引擎就可以发挥出它的作用了,它可以采取一些高效的措施将生成的数据库和表文件持久化在磁盘上,将来从磁盘上访问数据库和数据库表也会有自己的检索策略,从而提高数据库文件和数据库表文件的存储效率,以及检索文件中数据的效率。

MySQL的sql语句的分类 

 上文已经说过了,在MySQL中我们使用sql语句进行数据库和数据库表的创建,所以sql语句也会被分类,在MySQL中sql语句被分了三类。

  1. DDL【Data Definition Language】:数据库定义语言,用来维护数据库数据的结构。相关的指令有create,drop,alter。
  2. DML【Data Manipulation Language】: 数据库操纵语言,用来对数据进行操作。相关的指令有insert,delete,select,update。
  3. DCL【Data Control Language】:数据控制语言,用来负责权限管理和事务。相关的指令有grant,revoke,commit。

数据库 库的操作

创建数据库

首先说明,在sql语句中,不区分大小写,一条sql语句以一个 ; 隔开。 

create database [if not exists db_name  [charset=utf8] [collate utf8_general_ci];

        其中,charset表示创建的数据库的编码规则,collate表示数据库校验规则,校验规则可以通俗的理解为,在数据库中建表以后,采用相同的sql进行查询,但是可能因为校验规则的不同导致将来查询的结果不同。 

        括号中的sql语句都是可以省略的,但是要注意的是,编码规则和校验规则如果省略了,就是用数据库默认的编码规则和校验规则,可以在/etc/my.cnf中配置默认的编码规则和校验规则,默认情况下,数据库的编码和校验规则分别为utf8和utf8_general_ci。

上图我们创建了一个名为study的数据库,打开/var/lib/mysql目录。

我们不难发现,创建了一个study的数据库,本质就是在/var/lib/mysql目录下创建了一个study数据库目录,目录里就是数据库的配置文件。

可以使用 show charset 和 show collation 查看MySQL数据库支持的编码规则和校验规则。

不同校验规则对查询的数据的影响

不区分大小写

        使用 utf8_general_ci 校验规则,查询出来的数据不区分大小写。

        我们使用上述校验规则,创建了一个学生表,如果创建的表没有限定编码规则和校验规则,则继承数据库的编码规则和校验规则。

        依次插入  'A','a','B','b'  字符。

        查询性别为  'a' ,'B' 的学生记录。

        我们发现,这两次查询没有区分大小写,将  'A','a','B','b'都查询了出来。

 区分大小写

        使用 utf8_bin 校验格式在将来查询数据时,是区分大小写的。

        创建了一个student表,校验格式为 utf8_bin。

     依次插入  'A','a','B','b'  字符。

        查询性别为  'A' ,'b' 学生记录。 

        我们发现,最终查询出来的记录都是查询的大写 'A' 和 小写 'b' 。 

        由此不难发现,数据库表的校验规则的不同,想通条件查询出来的数据记录也是不同的。

查看数据库

show databases;

查看数据库创建语句

show create database db_name;

修改数据库(强烈不建议)

        修改数据库的操作很有可能为上层应用代码造成很大的影响,所以数据库一旦创建好了就不建议再去修改。 

alter dataebase db_name;

        修改数据库study的编码规则为gbk。

        修改数据库study1的名称为study2。

        我们使用上述方法是改不了数据库名称的,因为MySQL为了避免更改数据库带来不必要的风险,一般情况下是不允许更改数据库名称的,但是有其它的方法更改,但是我们仍然强烈建议不要更改数据库, 不要更改数据库,不要更改数据库,重要的事情说三遍!!!

删除数据库 

drop database db_name;

 查看连接状态 

可以通过下列sql语句查看有多少mysql客户端进程连接上了mysqld服务器端进程。

show processlist;

表的操作

创建表 

CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype) character set 字符集 collate 校验规则 engine 存储引擎;

        创建一个person表。 

         创建表其实也是在var/lib/mysql下的数据库目录中创建对应的表相关文件。

  • person.frm:表结构
  • person.MYD:表数据
  • person.MYI:表索引 

        我们创建的person表的存储引擎为MyISAM,需要注意的是,不同的存储引擎在对应目录下生成的表文件是不一样的。        

查看表结构 

desc tb_name;

对表的操作 

        在数据库中,一列的标题我们就称之为一个字段,一行我们就称之为一条记录。

向表中插入记录

向表中插入新的字段 

向person表中插入home字段。

修改表的某一个字段(强烈不建议)

        修改name字段,数据类型为 char(20)。

        修改name字段名称为user字段。强烈不建议修改字段名称,因为会对应用层代码造成不必要的影响。烈不建议 ,强烈不建议 ,强烈不建议 重要的事情说三遍!!!

        需要注意的是,修改之后的新的user字段必须是完整定义的,也就是必须定义类型字段。 

修改表名(强烈不建议)

      修改person表的名称为people。

        更改数据库表的名称时,rename to 中的to是可以省略的。同样的,修改表的名称可能会对应用层程序造成不必要的风险,所以强烈不建议,强烈不建议,强烈不建议!!! 

删除表的某一字段

删除people表中的home字段。

        删除字段时也要小心,因为删除字段会删除所有记录的该字段。 

删除表 

删除study数据库中的student表。

        以上便是数据库以及MySQL数据库的基本概念。

        本期内容到此结束^_^

http://www.yidumall.com/news/77790.html

相关文章:

  • 做博彩类网站费用做一个公司网站需要多少钱
  • 网站制作 网站建设建网站用什么工具
  • 网络小说网站建设南宁seo排名首页
  • 开源wiki做网站上海专业做网站
  • 北京门户网站建设公司重庆快速网络推广
  • 深圳新闻网今日新闻快速seo排名优化
  • 国外购物独立网站建设网站内容检测
  • 淮安做网站杨凯怎么做互联网营销推广
  • 做农宿的网站遵义网站seo
  • 东营高端网站建设2019年 2022疫情爆发
  • 重庆做网站开发的公司网站内部seo优化包括
  • 连云港北京网站建设新型网络搜索引擎
  • 网站内怎样做关键词有效果郑州网络营销顾问
  • 免费推广策略东莞seo优化seo关键词
  • 做的网站怎么卖出去提高销售的10种方法
  • 开发网站网络公司排行新闻头条今日要闻军事
  • 新电商运营与推广徐州百度seo排名
  • wordpress微信采集器南京百度关键字优化价格
  • 东莞清洁服务网站建设巩义网络推广外包
  • 企业网站实名认证时间论坛推广
  • 江门网站推广技巧平台推广
  • 杭州市做外贸网站的公司seo关键字排名
  • 有哪些网站是可以做会计题目的竞价托管一般要多少钱
  • 让人做网站需要注意什营销渠道策略
  • 各大网站新闻人脉推广app
  • 课程资源网站教建设现状分析全网搜索关键词查询
  • 网站全网建设莱芜网页设计个人主页
  • 网站建设合同付款比例微营销是什么
  • 青岛网络优化邯郸seo
  • 封面型网站怎么做的小白如何学电商运营