
MySQL数据库--慕课网视频
文章平均质量分 61
不两立
这个作者很懒,什么都没留下…
展开
-
第一章:初涉MySQL
一:SQL的安装和配置安装和配置就不写了。二:启动和停止SQL服务除了在“服务”里面设置,命令行有一条专门用于开启/关闭服务的指令:net start/stop 服务名 用这条指令要获得管理员权限。三:MySQL的登陆和退出由于MySQL的bin目录在PATH环境变量中,所以我们可以直接在命令行中输入mysql打开数据库(没有参数只是“游客”)。下面是mysql常用的参原创 2017-08-07 18:17:12 · 221 阅读 · 0 评论 -
第四章 第六节:多表更新
多表更新UPDATE table_references //参照关系SET col_name1={expr1|DEFAULT}//表达式或默认值[,col_name2={expr2|DEFAULT}]...[WHERE where_condition]//where条件连接两张表的参照关系table_reference{[INNER|CROSS] JOIN |{LE原创 2017-08-13 16:53:00 · 316 阅读 · 0 评论 -
第四章 第七节:多表更新之一步到位(CREATE....SELECT)
创建数据表的同时将查询到的数据写入到表中CREATE TABLE [IF NOT EXISTS] tbl_name[(create_definition,...)]select_statementgoods表中有品牌的字段,我们单独存放:CREATE TABLE goods_brands(brand_id SMALLINT UNSIGNED PRIMARY KEY原创 2017-08-13 16:55:39 · 205 阅读 · 0 评论 -
第四章 第七节: 连接
连接的语法结构MySQL在SELECT语句,多表更新,多表删除语句中支持JOIN操作连接条件使用ON关键字设定连接条件,也可以使用WHERE来代替(进行结果集记录过滤)。内连接原创 2017-08-14 08:44:42 · 198 阅读 · 0 评论 -
第四章 第八节:多表连接
goods表连接goods_cate和goods_brandsSELECT id,name,brand,cate,price FROM goods AS gINNER JOIN goods_cate AS c ON g.cate = c.cate_name INNER JOIN goods_brand AS b ON g.brand = b.brand_name\G;原创 2017-08-14 09:04:50 · 198 阅读 · 0 评论 -
第四章 第八节:无限级分类表设计
无限级分类表设计 实际上我们在开发过程中,就拿商品类别来说,它还可以有更多的延伸,我们先来举一个简单的例子,比如图书,他的下面还可以分小说、文学等,在小说下面还可以分为言情小说、科幻小说等,还可以再往下一级一级继续分,那么这种分类就属于无限极分类,那么无限极分类表该如何去设计,理论上说我们可以设计很多张表,但是随着分类的逐步增多,表的数目就会越来越多,所以无限极分类表往往采用另外一种形原创 2017-08-14 09:30:10 · 333 阅读 · 0 评论 -
第四章 第九节:多表删除
多表删除的语法结构DELETE tbl_name[.*] [,tbl_name[.*]]…FROM table_references[WHERE where_condition] 我们还以商品表为例,我们再来查看一下表里的记录,我们输入SELECT * FROM tdb_goods\G;原创 2017-08-14 09:32:34 · 225 阅读 · 0 评论 -
第七章:存储过程
存储过程是SQL语句和控制语句饿预编译集合,以一个名称 存储并作为一个单元处理存储过程的优点1.增强了SQL语句的功能和灵活性2.实现了较快的执行速度3.减少了网络流量创建存储过程CREATE[DEFINER = {user|CURRENT_USER}]PROCEDDURE sp_name([proc_parameter[,...])[characteristi原创 2017-09-07 20:05:58 · 220 阅读 · 0 评论 -
第八章 相关知识
存储引擎简介MySQL将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。每一种存储引擎使用不同的存储机制、索引技巧。锁定水平,最终提供广泛且不同的功能存储引擎MyISAMInnoDBMemoryCSVArchive并发处理并发控制:当多个连接对记录进行修改是保证数据的一致性和完整性锁共享锁(读锁)排它锁(写锁)锁颗粒表锁,是原创 2017-09-07 21:17:22 · 177 阅读 · 0 评论 -
第五章 第一节:字符函数
CONCAT() 字符连接CONCAT_WS() 使用指定的分隔符进行连接 连接HELLO和MYSQL:SELECT CONCAT('HELLO','MYSQL');HELLO 和MYSQL中间加一个@:SELECT CONCAT('HELLO','@','MYSQL');连接test表中的first_name和last_name为fullname:SELECT CON原创 2017-08-21 20:34:18 · 430 阅读 · 0 评论 -
第五章 第二节:数值运算符和函数
+-*/CEIL() 进一取整SELECT CEIL(3.01);4DIV 整数除法SELECT 3/4;0.75SELECT 3 DIV 4;0FLOOR()舍一取证SELECT FLOOR(3.01);3MOD 取余数(取摩)SELECT 5%3;2SELECT 5 MOD 3;2SELECT 5原创 2017-08-30 21:26:47 · 274 阅读 · 0 评论 -
第五章 第三节:比较运算符与函数
[NOT] BETWEEN...AND..【不】在范围之内SELECT 15 BETWEEN 10 AND 30;1SELECT 15 NOT BETWEEN 10 AND 30;0[NOT]IN()【不】在列出的范围内SELECT 10 IN(5,10,20,30);1SELECT 10 NOT IN(5,10,20,30);0IS原创 2017-08-30 21:38:37 · 214 阅读 · 0 评论 -
第五章 第四节:日期时间函数
NOW()当前日期和时间SELECT NOW();2017-08-30 21:47:20CURDATE()当前日期SELECT CURDATE();2017-08-30CURTIME()当前时间SELECT CURTIME();21:48:10DATE_ADD()时间变化,时间可以增加,负值时减少SELECT DATE_ADD('2017-0原创 2017-08-30 21:45:29 · 306 阅读 · 0 评论 -
第五章 第五节:信息函数&&聚合函数&&加密函数
信息函数:CONNECTION_ID()连接IDDATABASE()当前数据库LAST_INSERT_ID()最后插入记录,写入多条时,返回前面的一个编号。USER()当前用户VERSION()版本信息---------------------------------------------------------------------------------------原创 2017-08-31 20:04:48 · 219 阅读 · 0 评论 -
第四章 第五节:INSERT...SELECT
现有一张goods表,有id,name,price,cate,brand等属性,现要管理以cate分类的表,需要从goods表中查询数据然后写进goods_cates表中。CREATE TABLE IF NOT EXISTS goods_cates(->cate_id SMALLINT UNSIGNED PRIMARY KEY AUTO_CRECTMENT,->cate_name VA原创 2017-08-13 16:18:27 · 349 阅读 · 0 评论 -
第四章 第三节:查询SELECT
数据记录筛选:sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"sq原创 2017-08-11 18:53:18 · 194 阅读 · 0 评论 -
第四章 第四节:子查询 (Subquery)
子查询:出现在其他SQL语句内的SELECT子句SELECT * FROM t1 WHERE col1=(SELECT COL2 FROM t2);1、子查询必须出现在查询内部,并且必须始终出现在圆括号内部2、子查询可以包括多个关键字或者条件,DISTINCT , GROUP BY ,ORDER BY, LIMIT ,函数等。3、子查询的外层查询可以是:SELECT原创 2017-08-12 11:59:45 · 768 阅读 · 0 评论 -
第二章 第一节:数据库数据类型
MySQL中的数据类型日期和时间数据类型MySQL数据类型含义date3字节,日期,格式:2014-09-18time3字节,时间,格式:08:42:30datetime8字节,日期时间,格式:2014-09-18 08:42:30timestamp4字节,自动存储记录修改的时间year原创 2017-08-08 13:28:36 · 218 阅读 · 0 评论 -
第二章 第二节:操作数据库
操作数据库@使用数据库USER 数据库名;@显示使用的数据库名SELECT DATABASE();@创建表 语法CREATE TABLE table_name (column_name column_type);eg://UNSIGNED 表示无符号位CREATE TABLE tb1 (name VARCHAR(20),age原创 2017-08-08 13:59:28 · 202 阅读 · 0 评论 -
第二章 第三节:数值的空和非空(NULL / NOT NULL)
在新建表的时候,可以设置表内列的值是否为空,使用NULL 和NOT NULLeg:创建表tb2,设置属性name 不允许为空,age 无符号可以为空CREATE TABKE tb2(name VARCHAR(20) NOT NULL,age TINYINT UNSIGNED NULL);显示一下tb2的列,SHOW COLUMNS FROM tb2;+-------原创 2017-08-08 14:08:14 · 312 阅读 · 0 评论 -
第二章 第四节:自动编号和主键约束——AUTO_INCREMENT和PRIMARY KEY
1、自动编号(AUTO_INCREMENT),必须与主键组合使用设置为主键的列被AUTO_INCREMENT修饰后,默认情况下,起始值为1,增量也为1。2、主键(PRIMARY KEY)每张数据表只能存在一个主键主键保证记录的唯一性主键自动为NOT NULL3、AUTO_INCREMENT必须与主键一起使用,主键不一定必须与AUTO_INCREMENT一起使用。举例原创 2017-08-08 14:35:01 · 3411 阅读 · 0 评论 -
第二章 第五节 :唯一约束UNIQUE KEY
唯一约束可以保证记录的唯一性(primary key也可以,但是unique key可以存在多个)唯一约束的字段可以为空(NULL)举例:创建表tb5,主键id,无符号且自动编号,字段username,非空,唯一约束,字段age 无符号CREATE TABLE tb5(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,usernam原创 2017-08-08 15:08:28 · 1014 阅读 · 0 评论 -
第二章 第六节:默认约束DEFAULT
默认约束:DEFAULT默认值当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。使用DEFAULT定义某字段为默认约束:插入数据验证默认约束:原创 2017-08-08 15:28:03 · 483 阅读 · 0 评论 -
第三章 第一节:外键约束——FOREIGN
外键约束的要求1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;外键的好原创 2017-08-08 18:12:50 · 387 阅读 · 0 评论 -
第三章 第二节:修改数据表——ALTER (一)ADD、DROP
添加单列ALTER TABLE tb_name ADD col_name columns_definition [FIRST|AFTER clo_name]向表中添加一列,选择放在最前面还是放在某列之后,不选默认最后举例:在表users1中添加一列,先显示表中内容mysql> SHOW COLUMNS FROM users1;+----------+-------原创 2017-08-09 15:16:59 · 476 阅读 · 0 评论 -
第三章 第二节:修改数据表——ALTER(二) 修改约束
增加主键ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_of_name,...);增加表users2,属性id,username,pid,agemysql> CREATE TABLE users2( ->id TINYINT UNSIGNED NOT NULL,原创 2017-08-09 16:26:08 · 373 阅读 · 0 评论 -
第三章 第二节:修改数据表——ALTER(三) 删除约束
删除主键ALTER TABLE tb_name DROP PRIMARY KEY;删除users2中的id主键约束ALTER TABLE users2 DROP PRIMARY KEY;删除唯一约束ALTER TABLE users2 DROP UNIQUE [INDEX|KEY] index_name;删除users2中的username的唯一约束首先要知道约原创 2017-08-09 16:27:51 · 359 阅读 · 0 评论 -
第三章 第二节:修改数据表——ALTER(四) 修改列定义和数据表更名
修改列定义:字段名没问题,类型有问题或者位置有问题ALTER TABLE tb_name MODIFY [COLUMN] col_name column_definition [FRIST|AFTER col_name]将id字段放到第一个位置上ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST;修改列名称:原创 2017-08-09 18:45:27 · 355 阅读 · 0 评论 -
第四章 第一节:插入数据INSERT
插入数据:INSERTINSERT [INTO] table_name (列1, 列2,...) VALUES (值1, 值2,....),()....;创建一个表users,有一下属性:mysql> CREATE TABLE users( -> int SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, -> usernam原创 2017-08-11 17:39:50 · 379 阅读 · 0 评论 -
第四章 第二节:更新和删除 UPDATE DELETE
更新数据记录update 数据表 set 字段名=字段值 where 条件表达式update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式删除数据记录delete from 数据表 where 条件表达式"delete from 数据表" (将数据表所有记录删除)原创 2017-08-11 18:43:44 · 239 阅读 · 0 评论 -
第六章: 自定义函数
自定义函数用户自定义函数(user-defined function,UDF)是一种对MySQL的扩展的途径,其用法与内置函数相同两个必要的条件:1.参数,可有可无2.返回值函数可以返回任意类型的值,同样可以接收这些类型的参数,参数数目理论为1024个。创建一个自定义函数CREATE FUNCTION function_nameRETURNS{STRING|IN原创 2017-08-31 20:35:07 · 342 阅读 · 0 评论