为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
与MySQL的零距离接触_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 插入记录有三种方法: 1、INSERT 表名 VALUES(值1,值2,表达式1,表达式2,...);注释:直接写值。 例:INSERT 表名 VALUES(NULL,'lilei','123',25,NULL);注释:(ID,姓名,密码,年龄,性别)字符型字段值需要加‘’。 可以同时插入多天记录 2、INSTER 表名 SET 列名1=值1,列名2=值2,.... 例:INSERT users SET username='Ben',password='456'; 只能一次性插入一条记录,但可以使用子查询subquery 3、INSTER [INTO] tbl_name [(col_name,...)] SELECT... 此方法可以将查询结果插入到指定数据表
    查看全部
  • 记录操作之INSERT 方法一:INSERT [INTO] table_name [(column_name,...)] {VALUES|VALUE} ({expr(表达式)|DEFAULT(默认值)},...),(...),...; INSERT [INTO] 表名 [(列名1,列名2,...)] VALUES(列值1,列值2,...),(列值3,列值4,…),…; 若省略列名则所有列要依次赋值 对于自动编号的字段,插入“NULL”或“DEFAULT”系统将自动依次递增编号; 对于有默认值的字段,可以插入“DEFAULT”表示使用默认值; 列值可传入数值(1,2,3....)、表达式(如3*7+1)或函数,如密码可以用md5()函数(PHP中的函数,求字符串哈希值函数)(如md5('123')); 可同时插入多条记录,多条记录括号间用逗号“,”隔开. 例:INSERT users VALUES(DEFAULT,'Tom','123',3*7-5,1),(NULL,'Rose',md5('123'),DEFAULT,0);
    查看全部
  • 修改列定义:ALTER TABLE 表名 MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name];(col_name列名,column_definition类型,在前面,AFTER col_name在谁的后面) 修改列名称:ALTER TABLE 表名 CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name] 修改数据表:ALTER TABLE 表名 TENAME[TO|AS]新表名;
    查看全部
  • 删除主键约束:ALTER TABLE 表名 DROP PRIMARY KEY; 删除唯一约束:ALTER TABLE 表名 DROP {INDEX|KEY} index_name(索引名而不是字段名); 查询约束:SHOW INDEXES FROM 表名; 查询外键约束:SHOW CREATE TABLE 表名; 删除外键约束:ALTER TABLE 表名 DROP FOREIGN KEY 约束名;
    查看全部
  • 添加主键约束:ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] PRIMARY KEY [index_type](index_col_name,...) CONSTRAINT[symbol]:给约束添加名称;[index_type]:约束类型,包括哈希索引和BTree索引(默认) 例如:ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id); 添加唯一约束:ALTER TABLE tbl_name ADD [CONSTRAINT[smybol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...) 例如:ALTER TABLE users2 ADD UNIQUE (username); 添加外键约束:ALTER TABLE tbl_name ADD [CONSTRAINT[smybol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition 例如:ALTER TABLE users2 ADD FOREIGN KEY(pid) REFERENCES provinces (id); 添加/删除默认约束:ALTER TABLE tbl_name ALTER [COLUMN] col_name{SET DEFAULT literal|DROP DEFAULT} 例如添加:ALTER TABLE users2 ALTER age SET DEFAULT 15; 例如删除:ALTER TABLE users2 ALTER age DROP DEFAULT; 数据表的修改操作:无非就是添加列,删除列,添加约束,删除约束。用的是ALTER,而 INSERT是对数据表添加插入记录用的。
    查看全部
  • @MySQL——添加/删除列 1、添加单列:如果指定FIRST,则在整个表的最前方,默认不写为整个表的最后方;如果指定AFTER col_name,则在col_name的后面。 ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST AFTER col_name] 2、添加多列:无法指定FIRST/AFTER、只能默认为最后方。 ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition,...) 3、删除单列 ALTER TABLE tbl_name DROP [COLUMN] col_name 4、删除多列(Ps:删除一列的同时,也可以新增一列。其间用逗号隔开) ALTER TABLE tbl_name DROP [COLUMN] col_name, DROP [COLUMN] col_name,DROP [COLUMN] col_name [ 收起全文 ]
    查看全部
  • 连接条件: 使用ON关键字来设定连接条件,也可以使用WHERE来代替。 通常使用ON关键字来设定连接条件, 使用WHERE关键字进行结果集记录的过滤。 1.内连接: 在MySQL中JOIN,INNER JOIN,CROSS JOIN是等价的 交集 仅显示A、B两表符合连接条件的记录。不符合连接条件的记录不显示。 例如:SELECT goods_id,goods_name,cate_name FROM tdb_goods INNER JOIN tdb_goods_cate ON tdb_goods.cate_id = tdb_goods_cate.cate_id; 2.外连接: LEFT JOIN左外连接;RIGHT JOIN右外连接 左外连接:LEFT OUTER JOIN:显示左表的全部记录及右表符合连接条件的记录。 右外连接:RIGHT OUTER JOIN:显示右表的全部记录及左表符合连接条件的记录。 如果使用LEFT JOIN,左表中存在一条记录A,在右表中没有找到相应的记录,则在返回结果用会出现一条只有记录A中的相应字段内容,其他字段都为NULL在记录(RIGHT JOIN类似). 内连接比外链接用的多一些 3.连接条件: 使用ON设定连接条件,也可以用WHERE代替 一般情况下使用 ON:设定连接条件 WHERE:进行结果集记录的过滤
    查看全部
    0 采集 收起 来源:内连接INNER JOIN

    2017-08-12

  • 存储过程与自定义函数的区别
    查看全部
  • ROW_COUNT 表示当前操作插入、删除或者更新的记录总数 实例:删除相应的字段,并显示被删除的行数,也显示删除后剩下的行数 DELIMITER // CREATE PROCEDURE rmUserByAgeAndRtInfos(IN p_age SMALLINT UNSIGNED, OUT delNums SMALLINT UNSIGNED, OUT leftNums SMALLINT UNSIGNED) BEGIN DELETE FROM users WHERE age = p_age; //注意变量不同 SELECT ROW_COUNT() INTO deleteUsers;//此处的SELECT... INTO…只是在赋值 SELECT COUNT(id) FROM users INTO leftNums;//同上 END // DELIMITER ; CALL rmUserByAgeAndRtInfos(20, @a, @b); //删除记录数,剩下记录数 SELECT @a, @b; 作用范围 DECLARE 定义的变量的作用范围是BEGIN … END块内,只能在块中使用, SET 定义的变量用户变量,只能存在于当前用户所使用的客户端有效。
    查看全部
  • DECLARE 只能用在BEGIN ....END 之间.BEGIN..END 之间的变量,被称为是局部变量 通过SELECT语句,SELECT.INTO..以及set ..@符号声明的是用户变量 举例: CREATE PROCEDURE removeUserAndReturnUserNums(IN p_id INT UNSIGNED,OUT userNums INT UNSIGNED) -> BEGIN -> DELETE FROM users3 WHERE id = p_id; -> SELECT count(id) FROM users3 INTO userNums; -> END -> //
    查看全部
  • 创建带有IN类型参数的存储过程:
    查看全部
  • 创建一个无参数存储过程: CREATE PROCEDURE sp1() SELECT VERSION(); 调用:CALL sp1();
    查看全部
  • 存储过程语句结构
    查看全部
  • 一. 存储过程简介 存储过程 存储过程存储在数据库内,可以有应用程序调用执行,而且允许用户声明变量以及进行流程控制,存储过程可以接受参数,可以介绍输入类型的参数,也可以接受输出类型的参数,并且可以存在多个返回值。所以存储过程的效率要比我们单一的sql语句执行的效率要高,比如:假设我们写了两条sql的语句,mysql会对这两天语句逐一的进行分析、逐一的进行编译,在进行逐一的执行,而我们采用的存储过程以后,只有在第一次才进行语法分析和编译,以后我们客户端再去调用,会直接来调用执行的结果,其中就省略了再次的语法分析和编译过程。 存储过程的优点。 (一)、增加sql语句的功能和灵活性 因为在存储过程内可以写控制语句,name就有很强的灵活性,可以完成复杂的判断以及较复杂的运算 (二)、实现较快的执行速度。 如果执行某一个复杂的操作,包含大量的sql语句,那么这些语句都将被mysql的引擎执行语法分析、编译、以及执行的过程,所以执行效率相对较低。而存储过程是预编译的,当客户端第一次调用这个存储过程的时候,mysql的引擎将对它进行语法分析、编译等操作,然后把这个编译的结果存储到内存当中,所以,第一次的的执行效率适合以前一样。但是以后客户端再次调用这个存储过程的时候便直接从内存当中来执行,所以说效率比较高,速度比较快。 (三)、减少了网络流量 如果我们通过客户端每个单独发送sql语句让服务器来执行,那么通过http协议所提交的数据量相对而言比较大。假设我们准备删除user表中id为3的记录 delete from user where id=3;这句话的字符量大约超过了30个字符,如果我们把他存储成存储过程的话,假设有一个存储过程叫delete user,我们只需要调用delete user吧id传过去就可以完成了删除,所以我们会发现,我们只需要来传递存储过程的名字以及要删除的那个id的号码就可以了。所以他提交给服务器的数量就会少很多。减少了网络流量
    查看全部
  • 自定义函数总结:
    查看全部
    0 采集 收起 来源:课程回顾

    2017-08-12

举报

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

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