MySQL
文章平均质量分 73
骄傲的少年磊磊
永远年轻 永远热泪盈眶
展开
-
【MySQL】用户管理
如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。1.用户1.1 用户信息MySQL中的用户,都存储在系统数据库mysql的user表中select host,user,authentication_string from user;字段解释:• host:表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆• user:用户名• authentication_string:用户密码通过password函数加密后的•原创 2021-04-12 09:24:09 · 492 阅读 · 0 评论 -
【MySQL】视图特性
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。1.基本使用创建视图create view 视图名 as select语句;示例:create view v_ename_dname as select ename, dname from EMP, DEPT where EMP.deptno=DEPT.deptno;select * from v_ename_dname;修改了视图,对基表数据原创 2021-04-12 08:49:10 · 404 阅读 · 0 评论 -
【MySQL】事务管理
事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的。1.事务基本操作示例:银行转账的例子更需要考虑事务的问题。创建测试表create table account( id int primary key, name varchar(50) not null default '', balance decimal(10, 2)原创 2021-04-11 20:06:12 · 459 阅读 · 0 评论 -
【MySQL】索引特性
索引:提高数据库的性能,索引是物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行正确的create index ,查询速度就可能提高成百上千倍。但是天下没有免费的午餐,查询速度的提高是以插入、更新、删除的速度为代价的,这些写操作,增加了大量的IO。所以它的价值,在于提高一个海量数据的检索速度。常见索引分为:• 主键索引(primary key)• 唯一索引(unique)• 普通索引(index)• 全文索引(fulltext)–解决中子文索引问题1.基本原理索引说明:原创 2021-04-11 16:58:49 · 444 阅读 · 0 评论 -
【MySQL】内外连接
1.内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。基本语法:select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;示例:显示SMITH的名字和部门名称-- 用标准的内连接写法select ename, dname from EMP inner join DEPT on EMP.deptno=DEPT.deptno andename='SMITH';2原创 2021-04-10 20:56:48 · 335 阅读 · 0 评论 -
【MySQL】复合查询
前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够。1.多表查询实际开发中往往数据来自不同的表,所以需要多表查询。本节我们用一个简单的公司管理系统,有三张表EMP,DEPT,SALGRADE来演示如何进行多表查询。示例:•显示雇员名、雇员工资以及所在部门的名字因为上面的数据来自EMP和DEPT表,因此要联合查询其实我们只要emp表中的deptno = dept表中的deptno字段的记录select EMP.ename, EMP.sal, DEPT.dname fro原创 2021-04-09 11:12:02 · 1500 阅读 · 0 评论 -
【MySQL】内置函数
1.日期函数• 获得年月日:select current_date();• 获得时分秒:select current_time();• 获得时间戳:select current_timestamp();• 在日期的基础上加日期:select date_add('2021-2-28', interval 10 day);• 在日期的基础上减去时间:select date_sub('2021-3-1', interval 2 day);• 计算两个日期之间原创 2021-04-09 09:20:26 · 349 阅读 · 0 评论 -
【MySQL】基本查询
1.Create创建一张学生表CREATE TABLE students ( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, sn INT NOT NULL UNIQUE COMMENT '学号', name VARCHAR(20) NOT NULL, qq VARCHAR(20));1.1 单行数据 + 全列插入插入两条记录,value_list 数量必须和定义表的列的数量及顺序一致INSERT INTO students原创 2021-04-08 21:58:46 · 543 阅读 · 2 评论 -
【MySQL】表的约束
真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。表的约束很多,这里主要介绍如下几个: null/not null,default, comment,primary key,auto_increment,unique key,foreign key 。1.空属性两个值:null(默认的)和not null(不为空)。数据库默认字段基本都是字段为空,但是实际开发时,尽可能保证字段不为空,原创 2021-04-08 10:08:55 · 344 阅读 · 0 评论 -
【MySQL】数据类型
1.数据类型分类2.数值类型2.1 tinyint类型数值越界测试:create table tt1(num tinyint);insert into tt1 values(128);---越界插入,报错ERROR 1264 (22003): Out of range value for column 'num' at row 1• 在MySQL中,整型可以指定是有符号的和无符号的,默认是有符号的• 可以通过UNSIGNED来说明某个字段是无符号的create table t原创 2021-04-07 15:09:14 · 1035 阅读 · 0 评论 -
【MySQL】表的操作
1. 创建表语法:CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype) character set 字符集 collate 校验规则 engine 存储引擎;• field 表示列名• datatype 表示列的类型• character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准• collate 校验规则,如果没有指定校验规则,则以所在数原创 2021-04-07 09:31:10 · 355 阅读 · 0 评论 -
【MySQL】库的操作
1.创建数据库案例• 创建名为 db1 的数据库create database db1;说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_general_ ci• 创建一个使用utf8字符集的 db2 数据库create database db2 charset=utf8;• 创建一个使用utf字符集,并带校对规则的 db3 数据库create database db3 charset=utf8 collate utf8_gener原创 2021-04-07 08:50:00 · 2185 阅读 · 6 评论 -
【MySQL】数据库基础
接下来该文章专栏会分享MySQL数据库的一些基本知识~1.什么是数据库我们都知道用文件就可以存储数据,但是为什么还要设计个数据库?有问题就有需求。文件保存数据有以下几个缺点:• 文件的安全性问题• 文件不利于数据查询和管理• 文件不利于存储海量数据• 文件在程序中控制不方便为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据,其存储介质为磁盘、内存。数据库的水平是衡量一个程序员水平的重要指标。2.主流的数据库• SQL Sever:微软的产品,.N原创 2021-04-06 21:14:24 · 439 阅读 · 0 评论