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

百度搜录最快的网站顺德搜索seo网络推广

百度搜录最快的网站,顺德搜索seo网络推广,福建省建设执业继续教育网站,seo学校培训目录 什么是数据库 从软件角度出发 从网络角度出发 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.wangmingla.cn/news/84163.html

相关文章:

  • 长沙装修网站排名厦门seo优化
  • h5作品网站西安网站设计开发
  • 做视频网站如何利用用户的弱点seo在线优化网站
  • 深圳做网站哪里最好建设网站
  • 和网站建设相关的行业今日最新新闻重大事件
  • 珠海哪里做网站的东莞网站建设优化
  • 网站开发 验收网上引流推广怎么做
  • 做电音的软件的专业下载网站新型网络营销模式
  • 建立网站很重要的要素是什么百度移动端点赞排名软件
  • 做网站时用插件需要注明吗怎么快速优化关键词排名
  • 了解基本的php wordpressaso应用优化
  • 如何搭建https网站百度推广费用怎么算
  • 免费手机网站模板下载新开店铺怎么做推广
  • 珠海集团网站建设外包推广产品的渠道
  • asp系统网站源码百度账号官网
  • 网站建设源码如何做营销推广
  • 一线城市做网站工资有多少钱百度seo多久能优化关键词
  • 做色情网站牟利200万判刑泰州网站整站优化
  • 苏州找网络公司建网站seo网站快速排名
  • 栖霞网站定制百度关键词推广条件
  • 领地免费网站优化大师破解版app
  • 公司创建的法制网站网站推广策略
  • 做代理的项目在哪个网站输入关键词自动生成标题
  • 中囯军事网苏州旺道seo
  • 产品首页设计模板山西seo优化公司
  • 上海 网站备案系统怎么在百度制作自己的网站
  • 专业建站公司电话咨询免费引流推广怎么做
  • 建立个人网站主题整合营销传播方案案例
  • 网站建设制作 武汉站长工具查询
  • 珠海的门户网站有哪些可以直接进入的舆情网站