为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
学习人数
综合评分9.67
950人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 1.创建带有INT类型参数的存储过程 DESC users; DELIMITER // CREATE PROCEDURE removeUserByID(IN id INT UNSIGNED) BEGIN DELETE FROM users WHERE id = id; END // DELIMITER ; CALL removeUserById(3); //参数名称最好不要和表中的字段相同 SELECT * FROM users; //全删除了 DELIMITER // CREATE PROCEDURE removeUserById(IN p_id INT UNSIGNED) BEGIN DELETE FROM users WHERE id = p_id; END // DELIMITER ; SELECT * FROM users; CALL removeUserById(22); SELECT * FROM users WHERE id = 22; 2.修改存储过程 ALTER PROCEDURE sp_name [characteristic] COMMENT 'string' |{CONTAINS SQL|NO SQL|READS SQL DATA|MODIFIES SQL DATA} |SQL SECURITY{DEFINER|INVOKER} 3.删除存储过程 DROP PROCEDURE [IF EXISTS] sp_name; DROP removeUserById;
    查看全部
  • 1.添加主键约束 CONSTRAINT_PK主键名字为PK ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) e.g:ALTER TABLE users ADD CONSTRAINT PK_users_id PRIMARY KEY (id); 2.添加唯一约束 ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...) e.g:ALTER TABLE users ADD UNIQUE (username); 3.添加外键约束 ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name](index_col_name,...) reference_definition e.g:ALTER TABLE users ADD FOREIGN KEY (pid) REFERENCES provinces (id) 4.添加/删除默认约束 DEFAULT ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} e.g: ALTER TABLE users ADD age TINYINT UNSIGNED NULL; ALTER TABLE users ALTER age SET DEFAULT 15; ALTER TABLE users ALTER age DROP DEFAULT;
    查看全部
  • 我的笔记在我的有道云笔记里,欢迎大家点击查阅、下载,作为初学者,大家一起努力 http://note.youdao.com/noteshare?id=8d3f1ceff1530c1af8152c3e1c36a264
    查看全部
  • MySQL内置函数分类: 一、字符函数 (1)CONCAT()//字符连接 (2)CONCAT_WS()//使用指定的分隔符进行字符连接 (3)FORMAT()//数字格式化 (4)LOWER()//转化小写 (5)UPPER()//转换大写 (6)LEFT()//获取左侧字符 (7)RIGHT()//获取右侧字符 (8)LENGTH()//取得字符串长度 (9)LTRIM(),RTRIM(),TRIM()//删除前导、后续空格或者指定字符 (10)REPLACE()//替换 (11)SUBSTRING()//字符串截取 (12)[NOT] LIKE//模式匹配——百分号%代表任意个字符;下划线_代表任意一个字符 二、数值函数 (1)CEIL()//进一取整 (2)FLOOR()//舍一取整 (3)DIV//整数除法 (4)MOD//取余数,与%一样 (5)POWER()//幂运算 (6)ROUND()//四舍五入 (7)TRUNCATE()//截断 三、比较函数 (1)[NOT] BETWEEN...AND... //[不]范围之内 (2)NOT IN() //[不]在列出值范围内 (3)IS [NOT] NULL //[不]为空 四、日期时间函数 (1)SELECT NOW(); // 当前日期时间 (2)SELECT CURDATE(); // 当前日期 (3)SELECT CURTIME(); // 当前时间 (4)SELECT DATE_ADD();//日期的变化 (5)DATEDIFF(); // 日期的差值 (6)DATE_FORMAT(); // 日期格式化 五、信息函数 (1)SELECT CONNECTION_ID() //连接ID (2)SELECT DATABASE() //当前数据库 (3)SELECT LAST_INSERT_ID() //最后插入记录的ID (4)SELECT USER() //当前用户 (5)SELECT VERSION() //版本信息 六、聚合函数 (1)AVG()//平均值 (2)COUNT()//计数 (3)MAX()//最大值 (4)MIN()//最小值 (5)SUM()//求和 七、加密函数 (1)MD5();//信息摘要算法 (2)PASSWORD();//加密算法,主要用途修改当前用户密码
    查看全部
    12 采集 收起 来源:回顾和概述

    2016-08-01

  • 各日期类型的开始时间到结束时间: DATE:1000.01.01---9999.12.31 ,DATETIME:1000.01.01 00:00:00---9999.12.31 23:59:59,TIMESTAMP:1970.01.01 00点起--2037年之间的一个值;TIME:-8385959到8385959,YEAR:2位或者4位,1970到2069年,允许70到69
    查看全部
  • //存储过程与自定义函数的区别 A、存储过程实现的功能相对复杂,函数针对性较强 B、存储过程可以返回多个值,函数只能有一个返回值 C、存储过程一般独立执行,函数可以作为 sql 语句的组成部分来出现 //修改存储过程 alter procedure sp_name [characteristic ...] comment 'string' | {contains sql | no sql | reads sql data | modifies sql data} | sql security {definer | invoker} 存储过程只能修改简单的特性,并不能修改过程体 //删除存储过程 DROP PROCEDURE [IF EXISTS] sp_name;
    查看全部
  • 1.修改列定义 ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST |AFTER col_name]; ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST; //将id字段的位置提到第一列 SHOW COLUMNS FROM users2; ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL; //修改数据类型,需注意数据丢失的问题 2.修改列名称 ALTER TABLE tbl_name CHANGE [COLUMN] col_name new_col_name column_definition [FIRST|AFTER col_name]; ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED; //修改列名称 3.数据表更名 方法1 ALTER TABLE tbl_name RENAME [TO/AS] new_tbl_name ALTER TABLE users2 RENAME (to/as) users3; SHOW TABLES; 方法2 RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ... RENAME TABLE users5 TO users2; 尽量少使用数据表的列名及表名的更名。 2.约束 按功能划分:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY 按数据列的数目划分:表级约束, 列级约束 3.修改数据表 针对字段的操作:添加/删除字段、修改列定义、修改列名称等。 针对约束的操作:添加/删除各种约束 针对数据表的操作:数据表更名(两种方式)
    查看全部
  • 1、INSERT 插入记录 语法1:INSERT [INTO] 表名 [(列名1,列名2,...)] VALUES(列值1,列值2,...),(...),...; 对于自动编号的字段,插入“NULL”或“DEFAULT”系统将自动依次递增编号; 对于有默认约束的字段,可以插入“DEFAULT”表示使用默认值; 列值可传入数值、表达式或函数,如密码可以用md5()函数进行加密(如md5('123')); 可同时插入多条记录,多条记录括号间用逗号“,”隔开 语法2:INSERT [INTO] 表名 SET 列名1=列值1, 列名2=列值2,...; 这种方法一次只能插入一条记录;列值中有自动编号、默认值或Boolean类型均可以不赋值(使用子查询) 语法3:INSERT [INTO] 表名(列名1,...) SELECT 列名1,... FROM 表名 [GROUP BY/HAVING/ORDER BY/LIMIT...]; 一般用于将其他表的数据插入到指定表,注意对应 2、单表更新 UPDATE UPDATE 表名 SET 列名1=列值1 [,列名2=列值2, ...] [WHERE 条件];(如条件为 列名=列值 修改某一字段的值) 省略条件则更新所有记录该列的值 3、单表删除 DELETE DELETE FROM 表名 [WHERE 条件]; 省略条件则默认删除该表所有记录(仅删除所有记录,不删除数据表); 插入自动编号的字段时,号数为已有的最大号数+1,即使中间有空号数也是如此(如12356,插入记录后为123567)
    查看全部
  • 显示表:show clumns from 表名; 无限分类:即在同一张表中既有父类,又有子类 通过在分类表中再增加多一个字段标识其属于哪一个父类的 ID 来实现 可以通过对同一张数据表的自身连接来进行查询,需要对表标识别名 查找显示父级id对应的名称 select s.type_id ,s.type_name,p.type_name As parent_id from tdb_goods_types s left join tdb_goods_types p on s.parent_id=p.type_id; 查找子级对应的名称 select p.type_id ,p.type_name,s.type_name from tdb_goods_types p left join tdb_goods_types s on p.type_id=s.parent_id; 查找有多少子级 select p.type_id ,p.type_name,COUNT(s.type_name) from tdb_goods_types p left join tdb_goods_types s on p.type_id=s.parent_id GROUP BY p.type_name ORDER BY p.type_id;
    查看全部
  • 事务处理:整个过程每一个单元全部完成才算事务处理成功,某一个单元失败事务就会回滚. 主要作用:保证数据库的完整性 事务的特性: 原子性、一致性、隔离性、持久性 简称:A(Atomic)C(Consistency)I(Isolation)D(Durable)
    查看全部
  • 姓名(Name):3ddown.com组织(Organization):3ddown.com注册码(Serial):NAVA-PCMU-KCIQ-J4FH 破解navicat...qq:840293170
    查看全部
  • delete t1 from 从···表中删除 tdb_goods as t1 left join(select goods_id,goods_name from tdb_goods group by goods_name having count(goods_name)>=2) as t2 将tdb_goods看做t1与子查询所得到的表进行左连接 on t1.goods_name=t2.goods_name t1和t2的连接条件 where t1.goods_id>t2.goods_id; 选出t1表中中满足t1.goods_id>t2.goods_id的
    查看全部
    10 采集 收起 来源:多表删除

    2018-03-22

  • bin 存储可执行文件 data 存储数据文件 docs 存储文档 lib 存储库文件 share 存储错误消息和字符文件 include 存储头文件
    查看全部
  • 子查询---in not in in 相当于=any not in 相当于 !=all 或者<>all ——不等于、不包含 子查询----exists not exists ——用得比较少 子查询返回任何行 exists 返回 true 反之 返回 false -- = ANY 或 = SOME 等价于 IN SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price IN (SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本')
    查看全部
  • 多表的连接跟两张表的连接一样 表的连接实质就是外键的逆向约束 */ Eg: SELECT goods_id,goods_name,b.cate_name,c.brand_name,goods_price FROM products AS a INNER JOIN products_cate AS b ON a.goods_cate = b.cate_id INNER JOIN products_brand AS c ON a.brand_name = c.brand_id;
    查看全部
    9 采集 收起 来源:多表连接

    2015-07-06

举报

0/150
提交
取消
课程须知
要想学习本课程,你只需要知道数据库是个什么东东就足够了,是不是很easy?!
老师告诉你能学到什么?
1、MySQL安装与配置 2、数据类型 3、流程控制与运算符 4、DDL、DCL、DQL、DML 5、常用函数 6、表类型(存储引擎) 7、图形化工具

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!