mysql
2023-02-14
53
目录一.索引的作用二.索引的创建、删除(1)使用ALTER TABLE语句创建索性(2)使用CREATE INDEX语句对表增加索引(3)删除索引(4) 组合索引与前缀索引三.索引的使用及注意事项一.索引的作用
一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。
在数据量和访问量不大的情况下,mysql访问是非常快的,是否加索引对访问影响不大。但是当数据量和访问量剧增的时候,就会发
2023-02-14
50
一、单表查询—>更新UPDATE table_name
SET field1=new-value1, field2=new-value2
[WHERE Clause]二、多表联合查询—>更新UPDATE a
INNER JOIN (SELECT yy FROM b) c ON a.id = c.id
SET a.xx = c.yy
[WHERE Clause]上面的 INNER JOIN ,可以换为 LEFT JOIN 、 RIGHT JOIN 等联合查询。SET 后的字段必须为 a 表中的
2023-02-14
26
MySQL中SELECT语句的基本语法是: SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [HIGH_PRIORITY] [DISTINCT|DISTINCTROW|ALL] select_list [INTO {OUTFILE|DUMPFILE} 'file_name' export_options] [FROM table_references [WHERE where_definition] [GROUP BY
2023-02-14
27
user表,身份证号码要唯一,手机号码,邮箱要唯一
实现方式:
表结构不用动。一个主键Id 加索引实现如图类型设置索引类型为Unique 唯一 选择栏位,命个名就行。索引方式btree 就好。ok啦~
补充:mysql实现多表主键不重复
同一个数据库中有两张表,里面字段都是一样,只是因为存的数据要区分开。但是主键不能重复。具体实现如下:
新建数据库 mytest
新建user表和admin表CREATE TABLE `user` (`user_id` INT(11) NOT NULL,`user_name
2023-02-14
27
目录一、创建数据表二、查询数据表三、 删除数据表四、修改数据表以及字段一、创建数据表
数据表:一个二维的表格,一个表格是由多列组成,表格中的每一类称之为表格的字段以上述学生信息表格为例在MySQL数据库中创建一张表格,语句如下(注:创建前应选择相应的数据库):
create table students(
stu_num char(8) not null unique,
stu_name varchar(20) not null,
stu_gender char(2) not null,
stu_age
2023-02-14
31
目录相关子查询EXISTS与NOT EXISTS关键字相关子查询
相关子查询执行流程
如果子查询的执行依赖于外部查询,通常情况下都是因为子查询中的表用到了外部的表,并进行了条件关联,因此每执行一次外部查询,子查询都要重新计算一次,这样的子查询就称之为 关联子查询 。相关子查询按照一行接一行的顺序执行,主查询的每一行都执行一次子查询。说明:子查询中使用主查询中的列
题目:查询员工中工资大于本部门平均工资的员工的last_name,salary和其department_id
方式一:相关子查询在 FROM 中
2023-02-14
50
MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP)。这条命令的输出结果能够让我们了解MySQL 优化器是如何执行SQL语句的。这条命令并没有提供任何调整建议,但它能够提供重要的信息帮助你做出调优决策。
参考官方文档地址:
http://dev.mysql.com/doc/refman/5.7/en/explain.html
为什么用explain . 如果你的页面返回结果很慢,你就需要使用explain去分析你的sql是否需要优化了.
1/ 官方定义The EXPLAIN stateme
2023-02-14
22
一、问题 要生成两类数据: A类:两位的 01 02 03 。。。09 10 11。。。19 20 21 。。。98 99 另一类B类:三位的 100 101 102 。。。110 111 112。。。998 999 二、解决办法 1、建表 复制代码 代码如下: CREATE TABLE `test`.`ta` ( `a` varchar(45) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 2、创建存储过程 复制代码 代码如下: DELIMITER $$