Mysql
TimChen666
持续学习的渣渣
展开
-
MySQL基础知识1——数据库(创建、恢复)
创建数据库基本语法:CREATE DATABASE [IF NOT EXISTS] db_name [可选设置];可选设置:CHARSET SET 字符集 COLLATE 校验规则例子:1. 创建一个名为db1的数据库 CREATE DATABASE db1;补充: 没有指定字符集和校验规则时,使用my...原创 2018-04-16 13:10:58 · 179 阅读 · 0 评论 -
MySQL进阶知识3——内、外连接
内连接实际上就是利用where子句对两张表形成的笛卡尔积进行筛选。基本语法select 字段 from 表1 inner join 表2 on 连接条件 AND 其他条件例子:查询员工对应的部门名字之前的写法:select 部门名字,员工名字 from 员工表,部门表where 员工表.部门编号 = 部门表.部门编号现在标准的写法:select 部...原创 2018-04-19 15:59:51 · 138 阅读 · 0 评论 -
MySQL进阶知识4——约束
基本介绍在项目开发中,我们要对表的数据进行管理(比如从业务逻辑层面,保证数据的正确性)。假设有一个字段叫email,要求是唯一的。为了达到这个效果,mysql提供了一种机制保证这些数据的正确性,这就是表的约束。分类主键约束(Primary key)非空约束(not null)唯一约束(unique)外键约束(foreign key)check约束【在mysql中,...原创 2018-04-19 16:32:26 · 319 阅读 · 0 评论 -
MySQL进阶知识5——自增长
基本介绍字段名 int auto_increment如果希望某个字段的值,自动地增长,我们可以将该字段设为自增长(auto_increment) 。细节说明1)一般自增长是和primary key配合使用的;2)自增长也可单独使用,但要配合unique;3)小数也能用自增长,但不建议这么用;4)默认从1开始,也可以通过如下指令修改自增长起始值 alter t...原创 2018-04-20 10:40:23 · 183 阅读 · 0 评论 -
MySQL进阶知识6——索引介绍与创建
索引简介索引的价值,在于提高海量表的查询速度。索引的算法有btree(二叉树算法) 、hash算法。分类主键索引(primary key)唯一索引(unique)普通索引(index)全文索引(fulltext)索引的代价占用磁盘空间;当我们进行读写操作,速度有一定的影响,但不大;添加一个索引后,并不能解决所有的查询问题,需要...原创 2018-04-20 11:04:41 · 186 阅读 · 0 评论 -
MySQL进阶知识7——索引查询与删除
查询索引基本语法:show keys from 表名\Gshow indexes from 表名show index from 表名\Gdesc 表名show create table 表名删除索引基本语法:// 普删除通索引alter table tbl_name drop index 索引名drop index 索引名 on 表名// 删除...原创 2018-04-20 11:08:36 · 151 阅读 · 0 评论 -
MySQL进阶知识8——索引查询与删除
基本介绍事务就是一组dml(增加、删除、修改)语句,这一组语句存在逻辑上的相关性,要么全部成功,要么全部失败。事务还规定了不同的客户端看到的数据是不相同的。MySQL控制台使用事务操作步骤:1)开始一个事务 start transaction | set autocommit = 0 / false2)设置保存点 savepoint '自定义节点...原创 2018-04-20 11:25:54 · 237 阅读 · 0 评论 -
MySQL扩展知识1——蠕虫复制、去重
蠕虫复制(自我复制)原理是自己把自己原有的数据当做源,不断插入。步骤:1)创建表 create table trysth like users;2)复制数据,假设我们只要name、email字段 insert trysth(name,email) select name,email from users;3)然后用这个表作为源,自己复制自己 insert t...原创 2018-04-20 12:25:16 · 375 阅读 · 0 评论 -
MySQL扩展知识2——合并查询
基本介绍有时,为了合并多个select语句的结果,可以使用合并查询。分类union(结果会去重)union all(不会去重)用法unionselect xxxx from sss unionselect ......union allselect xxxx from sss union allselect .........原创 2018-04-20 12:28:01 · 89 阅读 · 0 评论 -
MySQL扩展知识3——约束维护(添加、修改、删除)
添加、修改基本语法ALTER TABLE tbl_nameADD 字段类型(字段名) // 添加MODIFY 字段名 字段类型 // 修改(重新定义字段)例子1)客户号设为主键 alter table customer2 add primary key(customer_id);2)客户姓名不能为空 alt...原创 2018-04-20 12:34:06 · 143 阅读 · 0 评论 -
MySQL扩展知识4——事务隔离
基本介绍当我们的mysql表,被多个线程或者客户端同时操作时,mysql提供一种机制,可以让不同的事务在操作数据时,具有隔离性。从而保证,数据的一致性。不考虑事务隔离,可能会引发如下问题:1)脏读一个客户端(开启事务)会读取到,另外一个客户端(开启事务)没有提交(commit)的修改数据。2)不可重复读(偏重修改操作)在第一个事务还没有结束时...原创 2018-04-20 12:42:23 · 236 阅读 · 0 评论 -
MySQL扩展知识5——存储引擎
简介MySQL数据表主要有六种类型: BDB、Memory、ISAM、MERGE 、MYISAM、InnoDB。 从事务性的角度看,可以分为两大类:事务安全型(BDB、InnoDB) 非事务安全型(MYISAM、MEMOERY)比较图 细节说明MyISAM1.不支持事务,不支持外键,但访问速度快;2.对事务完整性没要求,推荐...原创 2018-04-20 12:50:03 · 158 阅读 · 0 评论 -
MySQL扩展知识6——视图
基本概念视图是一个虚拟表,其内容有查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。基本使用创建create view 视图名称 as select 字段名 from 表名;查看和查看表一样。修改alter view 视图名 as 新的select 语句 ...原创 2018-04-26 15:14:41 · 319 阅读 · 0 评论 -
MySQL扩展知识7——用户管理
前言MySQL中的用户,都存储在系统数据mysql中的user表中。 管理操作创建用户create user '用户名'@'主机名' identified by '密码';删除用户drop user '用户名'@'主机名';修改自己密码set password = password('密码');修改别人的...原创 2018-04-26 15:26:15 · 124 阅读 · 0 评论 -
php操作MySQL数据库(1)——MySQLI方式
PHP操作MySQL的三种方式MySQL非永久连接,每次使用数据库,都会打开一个新进程,缺点: 性能较低,PHP5.0以后被废弃。MySQLi永久连接,减轻服务器压力,只支持MySQL缺点: 占用内存PDO (推荐使用)能实现MySQLi的常用功能,支持大部分数据库。 MySQLI方式(面向对象)基本使用:1)连...原创 2018-05-23 16:51:58 · 417 阅读 · 0 评论 -
MySQL进阶知识2——子查询
定义子查询指在sql语句中的select语句,也叫嵌套查询。单行子查询返回一条记录的子查询语句。例子:显示tim同一部门的所有员工select * from where 部门编号 = worker(select 部门编号 from worker where name = 'tim');多行子查询返回多条记录的子查询,使用关键字in。例子...原创 2018-04-19 15:52:01 · 134 阅读 · 0 评论 -
MySQL进阶知识1——多表查询
笛卡尔集当我们对多表进行联查时,我们可以得到 表1 * 表2 的记录数。例子:表1的‘name’字段和表2的‘name’字段关联select * from t1,t2 where t1.name = t2.username补充:如果两个字段不一样,也可不带表名作为前缀。 自连接直接通过例子来看例子:同一张表,查询员工对应的上司。思...原创 2018-04-18 14:37:02 · 170 阅读 · 0 评论 -
MySQL基础知识2——数据库(修改、查看信息)
修改数据库前言修改数据库一般是进行字符集、校验规则、存储引擎的操作。修改字符集ALTER DATABASE [IF EXISTS] db_name CHARACTER SET 字符集编码ALTER DATABASE [IF EXISTS] db_name CHARSET-字符集编码 推荐修改校验规则ALTER DATABAS...原创 2018-04-16 13:19:46 · 766 阅读 · 0 评论 -
MySQL基础知识3——数据表(创建、其它基本操作)
创建表创建表CREATE TABLE [IF NOT EXISTS] tbl_name( field1 datatype, field2 datatype, field3 datatype,)CHARSET=编码方式 CLOOATE=校验规则 ENGINE=存储引擎 ;字段类型UNSIGNED 无符号,没有负数,从0开始Z...原创 2018-04-16 13:31:53 · 134 阅读 · 0 评论 -
MySQL基础知识4——数据表(修改、表结构操作)
修改表名称基本语法第一种ALTER TABLE tbl_name RENAME [TO | AS] new_tbl_name第二种ALTER TABLE tbl_name RENAME tbl_name TO new_tbl_name例子第一种方式: ALTER TABLE user5 RENAME TO use...原创 2018-04-16 13:47:43 · 176 阅读 · 0 评论 -
MySQL基础知识5——数据类型
数值类型整型细节说明整形可以指定为有符号和无符号,默认是有符号的。可以指定某个数值为无符号的 在创建表-定义字段的时候,使用unsigned !!!创建字段时,我们可以使用not null以及default 具体数值。补充知识——zerofill思考一个问题:数据库定义int(6) unsigned zerofill,6表示的是什么...原创 2018-04-18 10:51:45 · 171 阅读 · 0 评论 -
MySQL基础知识6——增删改操作
增加记录基本语法1)不指定字段名称 INSERT tbl_name VALUE(value...) 需要按照建表时的字段顺序,给每一个字段赋值2)指定字段名称 INSERT tbl_name(字段名称,...) VALUES(值,...) 其它字段必须要有默认值,否则会报错!!!3)一次添加多条记录 INSERT tb...原创 2018-04-18 11:02:36 · 135 阅读 · 0 评论 -
MySQL基础知识7——查询操作
查询记录基本语法SELECT [DISTINCT] select_expr,... FROM tbl_name 表达式或字段 可选参数[DISTINCT] 取出字段里重复的值(如value,有两条记录里有a,只显示一个)[WHERE 条件][GROUP BY {col_name|po...原创 2018-04-18 11:32:10 · 173 阅读 · 0 评论 -
MySQL基础知识8——聚合函数
COUNT(统计数量)统计满足条件的记录数有多少条,一般按照分组的形式统计。基本语法:select count(*) | count(列名) from tbl-name例子:1. 统计班级里的学生 select count(*) AS nums from class;2. 显示员工总数,以及获得奖金的员工人数 select ...原创 2018-04-18 13:18:57 · 233 阅读 · 0 评论 -
mysql基本使用
登录:基本语法mysql -h (主机地址) -P (端口) -u (用户名) -p (密码) 如果不带 -h,默认连接到本地。登录的同时,打开数据库:mysql -u root -p -D 数据库名字数据显示对齐:mysql -u root -p --default-character-set=latinl使用以上指令登录,查询结果...原创 2018-04-12 16:44:44 · 112 阅读 · 0 评论 -
MySQL基础知识0——SQL语句
SQL语句分类ddl 语句数据定义语句。常用的ddl语句有:CREATE [创建表] DROP [删除表]ALTER [修改表结构] dml语句数据操作语句。常用的dml语句有:INSERT [添加] UPDATE [修改数据]DELETE [删除]dql语句数据查询语句,也就是sel...原创 2018-04-12 16:54:58 · 122 阅读 · 0 评论 -
MySQL基础知识9——日期函数
当前时间相关CURRENT_DATE() 当前日期CURRENT_TIME() 当前时间CURRENT_TIMESTAMP() 当前年月日时分秒NOW() 同上例子:select current_date() from dual; // 2018-04-18select current_time() from dual; // 13:46:24...原创 2018-04-18 13:58:48 · 146 阅读 · 0 评论 -
MySQL基础知识10——字符串函数
字段的字符集CHARSET(str) 连接字符串CONCAT(str1,str2...) 例子:select concat(name,'的工作是',job) from worker;大小写转换UCASE() 转大写LCASE() 转小写从左/右取出n个字符LEFT (str,len) RIGHT(str,len...原创 2018-04-18 14:11:15 · 93 阅读 · 0 评论 -
MySQL基础知识11——数学函数
绝对值ABS(number) 取整相关CEILING(number) 向上取整FLOOR(number) 向下取整保留小数点FORMAT(number, D)将number以四舍五入的方式保留小数点后D位。例子:select format(123.455,1) from dual; // 123.5...原创 2018-04-18 14:15:13 · 134 阅读 · 0 评论 -
MySQL基础知识12——流程控制函数
if语句基本语法IF(expr1, expr2, expr3)如果expr1为true,则返回expr2; 否则,返回expr3。例子:查询worker表,显示name、sal和com,如果com为null,则显示0.0。select name,sal,if(com is null, 0.0, com ) from worker再次强调,在mysql...原创 2018-04-18 14:25:40 · 192 阅读 · 0 评论 -
MySQL基础知识13——其它函数
显示当前用户USER()显示当前数据库DATABASE()MD5加密MD5(str)PASSWORD加密PASSWORD(str)原创 2018-04-18 14:28:39 · 101 阅读 · 0 评论 -
php操作MySQL数据库(2)——PDO方式
基本使用1)连接数据库$pdo = new PDO(“mysql:host=localhost; dbname=db_name”,username,password);2)执行SQL语句$pdo -> query() 针对返回有结果的操作 适用于SELECT$pdo -> exec() 针对没有返回结果的操作 适用于增删改...原创 2018-05-23 17:29:39 · 182 阅读 · 0 评论