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

自动做网页的网站wordpress linux 下载

自动做网页的网站,wordpress linux 下载,什么网站流量高,珠海设计公司排名一、约束 (一)介绍 约束是对表中的数据进行限定,保证数据的正确性、有效性、完整性。 约束的分类 (二)主键约束 1. 主键约束的特点 主键约束默认包含非空和唯一两个功能一张表只能有一个主键主键一般用于表中数据的…

一、约束

(一)介绍

约束是对表中的数据进行限定,保证数据的正确性、有效性、完整性。

约束的分类

(二)主键约束

1. 主键约束的特点
  1. 主键约束默认包含非空和唯一两个功能
  2. 一张表只能有一个主键
  3. 主键一般用于表中数据的唯一标识

2.添加主键约束语法

 CREATE TABLE 表名(

        列名 数据类型 PRIMARY KEY,

        ...

        列名 数据类型 约束

);

3.删除主键约束语法

ALTER TABLE 表名 DROP PRIMARY KEY;

4.建表后单独添加主键约束语法

ALTER TABLE 表名 MODIFY 列名 数据类型 PRIMARY KEY;

(三)主键自增约束(MYSQL中的自增约束,必须配合键的约束一起使用)

1.建表时添加语法

CREATE TABLE 表名(

        列名 数据类型 PRIMARY KEY AUTO_INCREMENT,

        ...

        列名 数据类型 约束

);

2.删除语法

ALTER TABLE 表名 MODIFY 列名  数据类型;

3.建表后单独添加语法

ALTER TABLE 表名 MODIFY 列名 数据类型 AUTO_INCREMENT;

(四)唯一约束(即不会出现重复的值)

1.建表时添加语法

CREATE TABLE 表名(

        列名 数据类型 UNIQUE,

        ...

        列名 数据类型 约束

);

2.删除唯一约束语法

ALTER TABLE 表名 DROP INDEX 列名;

3.建表后单独添加唯一约束语法 (如果已有非唯一的值,则语法无法执行,报错)

ALTER TABLE 表名 MODIFY 列名 数据类型 UNIQUE;

(五)非空约束

1.建表时添加非空约束

CREATE TABLE 表名(

        列名 数据类型 NOT NULL,

        ...

        列名 数据类型 约束

);

2.删除非空约束

ALTER TABLE 表名 MODIFY 列名 数据类型;

3. 建表后单独添加非空约束(如果已经有null,能够执行语法,则会将null值删除)

ALTER TABLE 表名 MODIFY 列名 数据类型 NOT NULL;

(六)外键约束

1.作用:

让表与表之间产生关联关系,从而保证数据的准确性。

2.建表时添加外键约束

CREATE TABLE 表名(

        列名 数据类型 约束,

        ...

        CONSTRAINT 外键名 FOREIGN KEY (本表外键列名) REFERENCES 主表名(主表主键列名)

);

3.删除外键约束

ALTER TABLE 表名 DROP FOREIGN KEY 外键名;

4.建表后单独添加外键约束

ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (本表外键列名) REFERENCES 主表名 (主键列名);

 (七)外键的级联更新和级联删除

1.级联更新/删除:

当想把主表的数据进行修改/删除时,我期望从表中有关联的数据也会随之修改/删除。

 2.添加级联更新

ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (本表外键列名) REFERENCES (主键列名) ON UPDATE CASCADE;

3.添加级联删除

ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (本表外键列名) REFERENCES 主表名(主键列名) ON DELETE CASCADE;

4.同时添加级联更新和级联删除

ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (本表外键列名) REFERENCES 主表名(主键列名) ON UPDATE CASCADE ON DELETE CASCADE;

二、多表操作

(一)介绍

多个表之间进行操作,表与表之间有关联(通过外键约束实现),分为一对一、一对多、多对多

(二)多表的关系

1.一对一

建表原则:在任意一个表建立外键,去关联另外一个表的主键。

2.一对多

建表原则:在多的一方,建立外键约束,来关联一的一方主键。

3.多对多

建表原则:需要借助第三张中间表,中间表至少包含两个列。这两个列作为中间表的外键,分别关联两张表的主键。

(三)多表查询

分类:内连接查询、外连接查询、子查询、自关联查询

1.内连接查询

查询的是两张表有交集的部分数据(有主外键关联的数据)

2.外连接查询

①左外连接

查询左表的全部数据,和左右两张表有交集部分的数据

②右外连接

查询右表的全部数据,和左右两张表有交集部分的数据

3.子查询

查询语句中嵌套了查询语句

①结果为单行单列

可以将查询的结果作为另一条语句的查询条件,使用运算符判断。= / > / >= / < / <=等。

②结果为多行单列

可以作为条件,使用运算符IN或NOT IN进行判断。

③结果为多行多列

可以作为一张虚拟表参与查询。

4.自关联查询

在同一张表中数据有关联性,我们可以把这张表当成多个表来查询

(四)内连接查询 

1.显示内连接查询语法

SELECT 列名 FROM 表名1 [INNER] JOIN 表名2 ON 条件;

2.隐式内连接查询语法

SELECT 列名 FROM 表名1,表名2 WHERE 条件;

(五)外连接查询

1.左外连接查询语法

SELECT 列名 FROM 表名1 LEFT [OUTER] JOIN 表名2 ON 条件;

2.右外连接

SELECT 列名 FROM 表名1 RIGHT [OUTER] JOIN 表名2 ON 条件;

(六)子查询

1.结果为单行单列的查询语法

SELECT 列名 FROM 表名 WHERE 列名=(SELECT 列名 FROM 表名 [WHERE 条件]);

2.结果为多行单列的查询语法

SELECT 列名 FROM 表名 WHERE 列名 [NOT] IN (SELECT 列名 FROM 表名 [WHERE 条件]); 

3.结果为多行多列的查询语法

SELECT 列名 FROM 表名 [别名],(SELECT 列名 FROM 表名 [WHERE 条件]) [别名] [WHERE 条件];

(七)自关联查询

没有固定查询语法,语句复杂,需要分析。

三、视图

(一)介绍

视图:是一种虚拟存在的数据表,这个虚拟表并不在数据库中实际存在

作用:将一些较为复杂的查询语句的结果,封装到一个虚拟表中,后期再有相同需求时,直接查询该虚拟表即可。

(二) 视图的创建和查询

1.创建视图语法

CREATE VIEW 视图名称 [(列名列表)] AS 查询语句;

2.查询视图语法

SELECT * FROM 视图名称;

(三)视图的修改和删除(原表的数据也会被自动修改)

1.修改视图数据语法

UPDATE 视图名称 SET 列名=值 WHERE 条件;

2.修改视图结构语法

ALTER VIEW 视图名称 (列名列表) AS 查询语句;

3.删除视图语法

DROP VIEW [IF EXISTS] 视图名称;

四、数据库备份和恢复

(一)命令行方式cmd

1.备份

登录cmd输入:

mysqldump -u root -p 数据库名称 > 文件保存路径

2.恢复

①登录MYSQL数据库:

可查看—— MYSQL基础内容-CSDN博客 ——的“登录MYSQL”中的内容

②删除已备份的数据库:

drop database 数据库名称;

③重新创建名称相同的数据库:

create database 数据库名称;

④使用该数据库:

use 数据库名称;

⑤导入文件执行:

source 备份文件全路径 

 (二)图形化工具方式(Navicat)

1.打开Navicat

2.在要备份的数据库右键

3.点击Dump SQL File,再点击Structure And Data...,然后选择要存储的路径,点击保存

 4.在Navicat中删除已备份的数据库:

drop database 数据库名称;

 5.在Navicat中重新创建名称相同的数据库:

create database 数据库名称;

6.在数据库上右键,点击Execute SQL File...

7.在File中找到备份的数据库的路径,点击Start,等进度条结束,点击Close,备份完成

五、 存储过程和存储函数

(一)介绍

1.定义

是事先经过编译并存储在数据库中的一段SQL语句的集合。

2.作用

①提高代码的复用性

②减少数据在数据库和应用服务器之间的传输,提高效率

③减少代码层面的业务处理

 3.区别

存储函数必须有返回值

存储过程可以没有返回值

 (二)存储过程的创建和调用

1.创建存储过程语法

--修改结束分隔符

DELIMITER $

--创建存储过程

CREATE PROCEDURE 存储过程名称(参数列表)

BEGIN

                SQL语句列表

END$

--修改结束分隔符

DELIMITER;

2.调用存储过程

CALL 存储过程名称(实际参数);

(三)存储过程的查看和删除

1.查看数据库中所有的存储过程

SELECT * FROM mysql.proc WHERE db='数据库名称';

2.删除存储过程

DROP PROCEDURE [IF EXISTS] 存储过程名称;

 (四)存储过程的变量

1.定义变量

DECLARE 变量名 数据类型 [DEFAULT 默认值];

2.变量赋值方式一

SET 变量名 = 变量值;

3.变量赋值方式二

SELECT 列名 INTO 变量名 FROM 表名 [WHERE 条件];

4.使用变量

SELECT 变量名; 

(五)存储过程的if语句

1.if语句标准语法

IF 判断条件1 THEN 执行的sql语句1;

[ELSEIF 判断条件2 THEN 执行的sql语句2;]

...

[ELSE 执行的sql语句n;]

END IF;

(六)存储过程的参数传递

1.存储过程的参数和返回值

CREATE PROCEDURE 存储过程([IN/OUT/INOUT] 参数名 数据类型)

BEGIN

                SQL语句列表;

END$ 

2.调用存储过程带参数和返回值

CALL 存储过程名(变量名[如果变量是函数返回值,则在变量名前加@符]);

3.查看变量(如果是存储过程返回值)

SELECT @变量名;

4.解释

IN:代表输入参数,需要由调用者传递实际数据(默认

OUT:代表输出参数,该参数可以作为返回值

INOUT:代表既可以作为输入参数,也可以作为输出参数

(七)存储过程语法——while循环

 1.初始化语句语法

WHLE 条件判断语句 DO

                循环体语句;

                条件控制语句;

END WHLE;

 (八)存储函数(必须有返回值)

1.创建存储函数

CREATE FUNCTION 函数名称(参数列表)

RETURNS 返回值类型

BEGIN

                SQL语句列表;

                RETURN 结果;

END$

2.调用存储函数

SELECT 函数名称(实际参数);

3.删除存储函数

DROP FUNCTION 函数名称;

六、 触发器

(一)介绍

1.定义

是与表有关的数据库对象,可以在insert、update、delete之前或之后触发并执行触发器中定义的SQL语句。

2.作用

这种特性可以协助应用系统在数据库端确保数据的完整性、日志记录、数据校验等操作。

3.方法

使用别名NEW和OLD来引用触发器中发生变化的内容记录

4.触发器分类

触发器类型OLDNEW
INSERT型触发器无(因为插入前无数据)NEW表示将要或者已经新增的数据
UPDATE型触发器OLD表示修改之前的数据NEW表示将要或已经修改后的数据
DELETE型触发器OLD表示将要或者已经删除的数据无(因为删除后状态无数据)

(二)创建触发器语法

DELIMITER$

CREATE TRIGGER 触发器名称

BEFORE / AFTER   +   INSERT / UPDATE / DELETE

ON 表名

FOR EACH ROW

BEGIN

                触发器要执行的功能;

END$

DELIMITER;

(三)触发器操作

1.查看触发器

SHOW TRIGGERS;

2.删除触发器

DROP TRIGGER 触发器名称;

 七、事务

(一)介绍

1.定义

一条或多条SQL语句组成一个执行单元,其特点是这个单元要么同时成功要么同时失败。

单元中的每条SQL语句都互相依赖,形成一个整体。

如果某条SQL语句执行失败或者出现错误,那么整个单元就会撤回到事务最初的状态。

如果单元中所有的SQL语句都执行成功,则事务就顺利执行。

2.事务的四大特征

①原子性

指事务包含的所有操作要么全部成功,要么全部失败回滚。因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对是数据库有任何影响。 

②一致性

指书屋必须使数据库从一个一致性状态变换到另一个一致性状态。

③隔离性

指当多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要互相隔离。

④持久性

指一个事务一旦被提交,那么对数据库中的数据的改变就是永久性的。

3.事务的隔离级别

指多个客户端操作时,各个客户端的事务之间应该是隔离的,互相独立的,不受影响的。而且如果多个事务操作同一批数据时,就会产生不同的问题,我们需要设置不同的隔离级别来解决这些问题。

隔离级别分类
隔离级别名称会引发的问题
read uncommitted读未提交脏读不可重复读幻读
read committed读已提交不可重复读、幻读
repeatable read(默认)可重复读幻读
serializable串行化
注意:

隔离级别从上到下安全性越来越高,但是效率越来越低,所以不建议修改数据库默认的隔离级别。

(二)事务的基本操作

1.开启事务

START TRANSACTION;

2.回滚事务

ROLLBACK;

3.提交事务

COMMIT; 

(三)事务的提交方式

1.分类

自动提交(MYSQL默认)(1)

手动提交(0)

2.查看事务提交方式的语法

SELECT @@AUTOCOMMIT;

3.修改事务提交方式的语法

SET @@AUTOCOMMIT = 数字;

 (四)事务的隔离级别操作

1.查询数据库隔离级别的语法

SELECT @@TX_ISOLATION;

2.修改数据库隔离级别的语法(修改后需要重新连接)

SET GLOBAL TRANSACTIONISOLATIONLEVEL 级别字符串;

八、 MYSQL的存储引擎

(一)MYSQL的体系结构

1.客户端连接

支持接口:支持的客户端连接,例如C、Java、PHP等语言来连接MYSQL数据库。

2.第一层:网络连接层

连接池:管理、缓冲用户的连接,线程处理等需要缓存的需求。

3.第二层:核心服务层

管理服务和工具:系统的管理和控制工具,例如备份恢复、复制、集群等。

SQL接口:接受SQL        命令,并且返回查询结果。

查询解析器:验证和解析SQL命令,例如过滤条件、语法结构等。

查询优化器:在执行查询之前,使用默认的一套优化机制进行优化SQL语句。

缓存:如果缓存当中有想查询的数据,则直接将缓存中的数据返回。没有的化再重新查询。

4.第三层:存储引擎层

插件式存储引擎:管理和操作数据的一种机制,包括(存储数据、如何更新、查询数据等)

5.第四层:系统文件层

文件系统:配置文件、数据文件、日志文件、错误文件、二进制文件等等的保存。

( 二)存储引擎介绍

1.定义

①MYQL数据库使用不同的机制存取表文件,包括存储方式、索引技巧、锁定水平等不同的功能。这些不同的技术以及配套的功能称为存储引擎

②MYSQL能够针对不同的需求,配置不同的存储引擎,就会让数据库采取不同处理数据的方式和扩展功能。

③MYSQL支持的存储引擎有InnoDBMyISAMMEMORY(常用的)等。

常用存储引擎特征对比
常用存储引擎特征选择
InnoDB支持事务和外键操作,支持并发控制,占用磁盘空间大(MYSQL5版本后默认)对事务的晚自习有比较高的要求,在并发条件下要求数据的一致性,读写频繁的操作。
MyISAM访问快,不支持事务和外键操作以查询操作为主,只有很少的更新和删除操作,并且对事务的完整性、并发性要求不高
MEMORY内存存储,速度快,不安全,适合小量快速访问的数据更新不太频繁的小表,用于快速得到访问的结果

(三)存储引擎操作

1.查询数据库支持的存储引擎

SHOW ENGINES;

2.查询某个数据库中所有数据表的存储引擎

SHOW TABLE STATUS FROM 数据库名称;

3.查询某个数据库中某个数据表的存储引擎

SHOW TABLE STATUS FROM 数据库名称 WHERE NAME = '数据表名称';

4.创建数据表,指定存储引擎

CREATE TABLE 表名(

        列名,数据类型,

        ...

)ENGINE = 引擎名称;

5.修改数据表的存储引擎

ALTER TABLE 表名 ENGINE = 引擎名称;

九、索引

(一)介绍

在表数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式指向指向数据,这样就可以在这些数据结构上实现高级查找算法的一种数据结构。

 (二)分类

按功能分类
索引介绍
普通索引最基本的索引,没有任何限制
唯一索引索引列的值必须唯一,但允许有空值。如果是组合索引,则列值组合必须唯一
主键索引一种特殊的唯一索引,不允许有空值。在建表时有主键列同时创建主键索引。
联合索引将单列索引进行组合
外键索引只有InnoDB引擎支持外键索引,用来保证数据的一致性、完整性和实现级联操作
全文索引快速匹配全部文档的方式。InnoDB引擎5.6版本后才支持全文索引。MEMORY引擎不支持
按结构分类
索引介绍
BTree索引MYSQL使用最频繁的一个索引数据结构,是InnoDB和MyISAM存储引擎默认的索引类型
Hash索引MYSQL中Memory存储引擎默认支持的索引类型

(三)索引的原理 

索引是在存储引擎中实现的,不同的存储引擎所支持的索引也不一样,接下来介绍InnoDB引擎的BTree索引。

BTree索引类型是基于B+Tree数据结构的,而B+Tree数据结构又是BTree数据结构的变种,通常使用在数据库和操作系统的文件系统,特点是能够保持数据稳定有序。

 磁盘存储:系统从磁盘读取数据到内存时是以磁盘块为基本单位,位于同一磁盘块中的数据会被一次性读取出来。(InnoDB存储引擎中有页的概念,将多个地址连接磁盘块来达到页的大小16KB)

BTree:每个节点中不仅包含key值,还有数据。会增加查询数据时磁盘的IO次数。

B+Tree:非叶子节点只存储key值,所有数据存储在叶子节点,所有叶子节点之间都有连接指针。

(三)索引操作

1.创建索引

CREATE [UNIQUE(唯一) / FULLTEXT(全文)] INDEX 索引名称

[ USING 索引类型] --默认是BTREE

ON 表名(列名...);

 2.查看索引(主键列/外键列自带主键索引/外键索引)

SHOW INDEX FROM 表名;

3. 添加索引

普通索引:ALTER TABLE 表名 ADD INDEX 索引名称(列名);

 组合索引:ALTER TABLE 表名 ADD INDEX 索引名称(列名1,列名2,...);

主键索引:ALTER TABLE 表名 ADD PRIMARY KEY(主键列名);

外键索引:ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(本表外键列名) REFERENCES 主表名(主键列名);

 唯一索引:ALTER TABLE 表名 ADD UNIQUE 索引名称(列名);

 全文索引:ALTER TABLE 表名 ADD FULLTEXT 索引名称(列名);

4.删除索引

DROP INDEX 索引名称 ON 表名;

十、锁

(一)介绍

锁机制:数据库为保证数据的一致性,在共享的资源被并发访问时变得安全所设计的一种规则。

分类
不同存储引擎支持的锁

 (二)InnoDB共享锁(能被多个事务查询,但不能被修改,多个共享锁是兼容)

1.创建共享锁的语法(在主键列加锁—加的是行锁,不在主键加锁—加的是表锁

SELECT 语句 LOCK IN SHARE MODE;

 (三)InnoDB排他锁(加锁的数据不能被其他事务加锁查询或修改)

1.创建排他锁的语法

SELECT 语句 FOR UPDATE;

(四)MyISAM读锁(所有连接只能查询数据,不能修改)

1.读锁加锁的语法(MyISAM没有事务,所以不用开启事务)(且只有表锁)

LOCK TABLE 表名 READ;

2.读锁解锁的语法

UNLOCK TABLES;

(五)MyISAM写锁(其他连接不能查询和修改数据)

1.写锁加锁的语法

LOCK TABLE 表名 WRITE;

2.写锁解锁的语法

UNLOCK TABLES;

十一、MyCat中间件

(一)介绍

MyCat是一款出色的数据库集群软件,支持常用关系型数据库,提供高可用性数据分片集群。

十二、一些不常用语法

1.获取即刻时间

NOW();

2.获取新增数据的内容

NEW.列名;

3.获取更新前的数据内容

OLD.列名;

4.实现字符串拼接

CONCAT('拼接内容',NEW.列名,...);

http://www.dtcms.com/a/518438.html

相关文章:

  • 苏州seo优化外包公司网站根目录文件 seo
  • 网站链接优化怎么做电脑上免费制作ppt的软件
  • 打开网站iis7怎么查看网站服务器位置
  • 密云住房和城乡建设部网站首页wordpress数据库怎么连接
  • 网站建设人员工作要求wordpress 仿制
  • 青岛网站设计皆挺青岛博采网络wordpress是瀑布流吗
  • 自己的网站源代码一片空白潼南区做网站的公司
  • 网站的规划与建设英文网站排版
  • 建设网站要那些可做设计任务的网站
  • 网站建设项目实践报告书网站用什么建设
  • whois哪个网站好朔州网站建设优化
  • 平台网站建设协议wordpress做app下载文件
  • 别人做的网站百度网站验证网站建设团队哪个最好
  • 广州市官网网站建设多少钱网站建设收获与不足
  • wordpress企业网站模板下载鲅鱼圈网站在哪做
  • 网站注册地做蛋糕的英文网站
  • 制作个网站张槎网站建设
  • 网站导航条图片素材科技帝国从高分子材料开始
  • 自己建设网站要多久淘宝在哪个网站做推广
  • 做网站要用写接口6新增备案网站负责人
  • 山西免费网站关键词优化排名做网站什么数据库用的多
  • 响应式网站方案抖音生活服务旅行社ota入驻
  • 做文字图网站泰安泰斗网络科技有限公司
  • 宣传方式seo在线优化工具
  • 编写这个网站模板要多少钱网站上的动图都怎么做的
  • 徐州市建设局网站首页重庆妇科医院排名前十名
  • 东莞seo建站如何推广千图网免费素材
  • 专业网站制作公司四川个人网页的内容
  • 医疗产品网站建设东莞寮步网站建设
  • 网站文章页图片不显示免费网站知乎