在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

MySQL必备基础知识有哪些

122次阅读
没有评论

共计 4858 个字符,预计需要花费 13 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关 MySQL 必备基础知识有哪些的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

一、SQL 的概念

  结构化查询语言 (Structured Query Language) 简称 SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

二、SQL 分类

(1)数据定义语言(Data Definition Language)DDL
用来定义数据库对象:数据库,表,列……
(2)数据操作语言(Data Manipulation Language)DML
用来对数据库中表的记录进行更新。
(3)数据查询语言(Data Query Language)DQL
用来查询数据库中表的记录。
(4)数据控制语言(Data Control Language)DCL

(一)DDL

1. 创建数据库
 create database  数据库名; 
 create database  数据库名  character set  字符集; // 字符集一般为 uft-8,第二个语句是创建数据的同时并设置了字符集。2. 查看数据库
 use  数据库名; // 切换数据库
 show databases; // 查看 MySQL 中都有哪些数据库
 select database(); // 查看当前正在使用的数据库
 show create database  数据库名; // 查看一个数据库的定义信息 3. 修改数据库字符集
 alter database  数据库名  character set  字符集;4. 删除数据库
 drop database  数据库名;5. 创建表
 CREATE TABLE  表名(
 字段名称 1   字段类型(长度),
 字段名称 2   字段类型(长度)// 注意:最后一个字段名称末尾不加,
 );
 /* 常用的数据类型
  int  整型  double  浮点型  varchar  字符串  
  data  日期类型,yyyy-MM-dd  年 - 月 - 日
   注意: char 也表示字符串,但是跟 varchar 是有区别的
  char 和 varchar 区别:   char 类型是固定长度的,varchar 是根据输入字符分配合适的空间,一般情况下用 varchar
  */6. 查看表
 show tables; // 查看当前数据库所有的表
 desc  表名; // 查看表的结构 7. 修改表
 rename table  旧表名  to  新表名; //  修改表名
 alter table  表名  character set  字符集; // 修改字符集
 alert table  表名  add  字段名称   字段类型; // 向表中添加字段
 alter table  表名  drop  字段名; // 删除字段 8. 删除表
 drop  表名  if exists  表名; // 删除该表

(二)DML

1. 插入数据
 insert into  表名  (字段名 1,字段名 2...) values(字段值 1,字段值 2...);2. 更改数据
 update  表名  set  列名  =  值  [where  字段名  =  值];3. 删除数据
 delete from  表名  [where  字段名  =  值];

(三)DQL

1. 简单查询
 select  列名  from  表名; // 列名可以用 * 号代替表示查询所有字段 2. 条件查询
 select  列名  from  表名  where  条件表达式;
 // % 表示任意多个字符串, _表示匹配一个字符,
3. 排序
 SELECT  字段名  FROM  表名  [WHERE  字段  =  值] ORDER BY  字段名  [ASC / DESC];
 // ASC  表示升序排序(默认),DESC 表示降序排序 4. 聚合函数 /* 常用聚合函数
 * count(字段)  统计指定列不为 NULL 的记录行数
 * sum(字段)  计算指定列的数值和
 * max(字段)  计算指定列的最大值
 * min(字段)  计算指定列的最小值
 * avg(字段)  计算指定列的平均值
 SELECT  聚合函数(字段名) FROM  表名;5. 分组
 SELECT  分组字段 / 聚合函数  FROM  表名  GROUP BY  分组字段  [HAVING  条件];6.limit 关键字
 SELECT  字段 1, 字段 2... FROM  表名  LIMIT offset , length;
 // offset  起始行数,  从 0 开始记数,  如果省略   则默认为  0.
 // length  返回的行数

(四)DCL

1. 创建用户
 CREATE USER  用户名 @ 主机名  IDENTIFIED BY  密码 2. 给用户授权
 GRANT  权限  1,  权限  2... ON  数据库名. 表名  TO  用户名 @ 主机名 3. 查看权限
 SHOW GRANTS FOR  用户名 @ 主机名 4. 删除用户
 DROP USER  用户名 @ 主机名 5. 查询用户
 SELECT * FROM USER;

三、SQL 约束

1.  主键约束 //  不可重复   唯一   非空
 字段名   字段类型  primary key;//  主键的自动增长  AUTO_INCREMENT  表示自动增长(字段类型必须是整数类型)
 //  默认主键起始值是 1,改变起始值
 //--  创建主键自增的表, 自定义自增其实值字段名   字段类型  DEFAULT  默认值
 // CREATE TABLE  表名(
 // eid INT PRIMARY KEY AUTO_INCREMENT,
 // ……
 // )AUTO_INCREMENT=100;
 // DELETE 和 TRUNCATE 对自增长的影响(前者对自增没有影响,后者从 1 开始自增)2.  非空约束
 字段名   字段类型  not null,3.  唯一约束
 字段名   字段类型  unique,4.  默认值
 字段名   字段类型  DEFAULT  默认值

四、事务控制

1. 什么是事务
 事务是一个整体, 由一条或者多条 SQL  语句组成, 这些 SQL 语句要么都执行成功, 要么都执行失败,  只要一条 SQL 出现异常, 整个操作就会回滚, 整个业务执行失败。2.  手动提交事务
 ①  开启事务  start transaction; 
 ②  提交事务  commit;
 ③  回滚事务  rollback;3.  自动提交事务(MySQL 默认)//  取消自动提交
 SET @@autocommit=off;
 //  查看自动状态, on 是自动,off 是手动提交
 SHOW VARIABLES LIKE  autocommit 4. ** 事务的四大特性 **(重点)原子性,一致性,隔离性,持久性。5.  事务隔离级别 // 查看隔离级别
 select @@tx_isolation; //5.7 版本
 //  设置隔离级别
 set global transaction isolation level  级别名称;
 // read uncommitted  读未提交
 // read committed  读已提交
 // repeatable read  可重复读
 // serializable  串行化

五、多表

(一)概述

  1.  在实际开发中,单表是满足不了业务需求的,同一个字段中很可能出现大量的
冗余字段,这就需要我们引入了多表。 2.  如果表 1 的某个字段与表 2 的主键对应,那么表 1 的这个字段就称为表 1 的外键,拥有外键的表是从表,与外键对应的主键所在的表成为主表。 4.  外键约束:外键约束可以让两张表之间产生一定的对应关系,从而形成了约束。 5.  外键指的是与在从表中与主表的主键对应的字段。 6.  添加外键约束的语法格式   [CONSTRAINT] [外键约束名称] FOREIGN KEY(外键字段名) REFERENCES 
  主表名(主键字段名);
 alter table  从表  add [CONSTRAINT] [外键约束名称] FOREIGN KEY(外键字段名)  REFERENCES  主表名(主键字段名);
 //  中括号里面的东西都是可以省略的  
 7.  删除外键约束的语法格式
 alter table  从表  drop foreign key  外键约束名称;
 8. 外键约束的注意事项:  ①  从表的外键类型必须与主表的主键类型一致。  ②  添加数据时,应该先添加主表的数据,然后再添加从表的数据
  ③  删除数据的时候,要先删除从表中的数据,再删除主表中的数据。 9. 级联删除
    删除数据的时候,要先删除从表中的数据,再删除主表中的数据,设置级联删除
  变可以直接删除主表中的数据,同时从表中的数据也会跟着消失。  on delete cascade; // 添加外键约束的时候后面跟着这句

(二)多表间关系

一对多:在多的表上建立外键
多对多:建立第三个表,最起码有两个字段(两个表的主键)
一对一:任意一个表上建立外键

(三)多表查询

1. 内连接查询
 SELECT  字段名  FROM  左表,  右表  WHERE  连接条件;
 SELECT  字段名  FROM  左表  [inner] JOIN  右表  ON  连接条件;2. 外连接查询
 SELECT  字段名  FROM  坐标  LEFT [outer] JOIN  右表  ON  连接条件;
 SELECT  字段名  FROM  坐标  RIGHT [outer] JOIN  右表  ON  连接条件;//  内连接: inner join ,  只获取两张表中   交集部分的数据.//  左外连接: left join ,  以左表为基准  , 查询左表的所有数据,  以及与右表有交集的部分 //  右外连接: right join ,  以右表为基准, 查询右表的所有的数据, 以及与左表有交集的部分 3. 子查询
 SELECT  查询字段  FROM  表  WHERE  字段 =(子查询);
 SELECT  查询字段  FROM (子查询)表别名  WHERE  条件;
 SELECT  查询字段  FROM  表  WHERE  字段  IN (子查询);
 //  子查询如果查出的是一个字段(单列),  那就在 where 后面作为条件使用.
 //  子查询如果查询出的是多个字段(多列),  就当做一张表使用(要起别名).

六、数据库三范式

数据库设计的一种规则
目的:创建 冗余较小,结构合理的数据库。
第一范式(1NF)满足最低要求的范式——列具有原子性,列要做到不可拆分性
第二范式(2NF)在满足第一范式的基础之上进一步满足更多的规范—— 一张表只能描述一件事情
第三范式(3NF)以此类推………………

七、MySQL 索引

索引的作用:为了提高索引的效率
** 常见索引的分类:** 主键索引(primary key);
唯一索引(unique);普通索引(index);

(一)主键索引

1. 创建的时候添加主键索引
 CREATE TABLE  表名(
 字段名   类型  PRIMARY KEY ,
 // 主键索引是唯一索引
 );2. 在已有表的基础上添加主键索引
 ALTER TABLE  表名  ADD PRIMARY KEY(列名);

(二)唯一索引

1.  创建的时候添加唯一索引
 CREATE TABLE  表名(UNIQUE [索引名称] (列名) 
 );2.  在已有表的基础上添加唯一索引
 CREATE UNIQUE INDEX  索引名  on  表名(列名);
 ALTER TABLE  表名  ADD UNIQUE (列名);

(三)普通索引

create index  索引名  on  表名(列名[长度]);ALTER TABLE  表名  ADD INDEX  索引名(列名);

(四)删除索引

ALTER TABLE table_name DROP INDEX index_name;

八、MySQL 视图

//  视图是一个表中根据不同需求提取出来的一个实际上不存在的表
 create view  视图名  [column_list] as select 语句;
 //  通过视图进行查询时将视图看成是一张表即可

感谢各位的阅读!关于“MySQL 必备基础知识有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计4858字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 国产精品夜色7777青苹果 | 久久国产一区二区三区 | 国产成人亚洲精品无码h在线 | 国产亚洲精品九九久在线观看 | 一本一道av无码中文字幕 | 亚洲人成网址在线观看 | 青青草原在线播放 | 国产精品后入内射日本在线观看 | 亚洲精品欧洲久久婷婷99 | 77788色淫网站免费视频 | 国产三级在线观看视频不卡 | 免费在线一级毛片 | 特黄特黄视频 | 亚洲成人伦理 | 在线视频 一区二区 | 成人影院久久久久久影院 | 国精产品自偷自偷综合下载 | 天堂avwww| 国产成人无码精品午夜福利a | 小明成人永久视频在线观看 | 韩国欧美一级毛片 | 三级视频网站在线观看视频 | www.激情.com | 欧美精品久久久久久久免费观看 | 午夜视频免费在线观看 | 久久精品aⅴ无码中文字字幕 | 欧美性videos高清精品 | 国产成a人亚洲精v品久久网 | 久久免费观看视频 | 亚洲国产成人高清在线观看 | 精品成人| 少妇人妻精品一区二区三区 | 久久精品免费一区二区喷潮 | 一区二区三区久久 | 国产免费久久精品99re丫y | 中文字幕人妻丝袜乱一区三区 | 黄射视频 | www.就去干.com| 久久久久亚洲波多野结衣 | 青青国产精品视频 | asmr福利视频在线播放 |