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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • -- 通过ALTER TABLE语句修改数据表结构 ALTER TABLE tdb_goods CHANGE goods_cate cate_id SMALLINT UNSIGNED NOT NULL,
    查看全部
    0 采集 收起 来源:外连接OUTER JOIN

    2016-09-27

  • 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 [INDEXKEY] [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;
    查看全部
  • 1、创建带有INT类型参数的存储过程: DELIMITER // //定界符 CREATE PROCEDURE removeUserById(IN p_id INT UNSIGNED) //int 是数据类型,参数不能与数据表中字段名相同 BEGIN DELETE FROM users WHERE id = p_id; END // //结束 DELIMITER ; 2、修改存储过程: ALTER PROCEDURE sp_name [characteristic] COMMENT 'string' {CONTAINS SQLNO SQLREADS SQL DATAMODIFIES SQL DATA} SQL SECURITY{DEFINERINVOKER} 3.删除存储过程: DROP PROCEDURE [IF EXISTS] sp_name;
    查看全部
  • @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
    查看全部
  • MySQL目录结构
    查看全部
  • 创建不带参数的存储过程: 1.创建没有参数的存储过程 CREATE PROCEDURE sp1() SELECT VERSION(); 2.调用存储过程 CALL sp_name([parameter[,...]]) - 带参数的存储过程的调用 CALL sp_name[()] - 不带参数的存储过程调用 CALL sp1; CALL sp1();
    查看全部
  • 1、存储过程语法结构分析 CREATE [DEFINER = {userCURRENT_USER}]//定义时的用户,若是不写就默认为当前用户 PROCEDURE sp_name ([proc_parameter[,...]]) //可以带0到多个参数 [characteristic ...] routine_body 其中参数 proc_parameter: [IN OUT INOUT] param_name type IN, 表示该参数的值必须在调用存储过程时指定 OUT, 表示该参数的值可以被存储过程改变,并且可以返回 INOUT, 表示该参数的值调用时指定,并且可以被改变和返回 2.特性 COMMENT 'string' {CONTAINS SQLNO SQLREADS SQL DATAMODIFIES SQL DATASQL SECURITY{DEFINERINVOKER} COMMENT:注释 CONTAINS SQL:包含SQL语句, 但不包含读或写数据的语句 NO SQL:不包含SQL语句 READS SQL DATA:包含读数据的语句 MODIFIES SQL DATA:包含写数据的语句 SQL SECURITY {DEFINERINVOKER}指明谁有权限来执行 3.过程体 (1)过程体由合法的SQL语句构成; (2)过程体可以是任意SQL语句;对表格进行增删,连接,但是不能创建数据表<br> (3)过程体如果为复合结构则使用BEGIN...END语句 (4)复合结构可以使用条件、循环等控制语句
    查看全部
  • 1.表级约束与列级约束 (1)对一个数据列建立的约束,称为列级约束 (2)对多个数据列建立的约束,称为表级约束 (3)列级约束既可以在列定义时声明,也可以在列定以后声明 (4)表级约束只能在列定义后声明 2.主键、外键、非空、唯一、默认都是约束条件。主键、外键、唯一既可以作为表级约束,也可作为列级约束;而not null、default只有列级约束。
    查看全部
  • select ROUND(AVG(goods_price),2) FROM tdb_goods; 从tdb_goods中查询所有产品价格,AVG求平均值,ROUND (X,2)将平均价格x的值四舍五入,保留两位小数 insert into tdb_goods_cates (cate_name) select goods_cate from tdb_goods group by goods_cate; 查找goods_cate这一列,相同名称分为一组,将查询到的goods_cate插入tdb_goods_cates表
    查看全部
  • 在实际的开发过程中,我们很少使用物理的外键约束,很多都去使用逻辑的外键约束,因为物理的外键约束只有INNODB这种引擎才会支持,像我们另外的一种引擎MYISAM的引擎则不支持,反过来说,如果我想创建的数据表,假设存储引擎为MYISAM,而且又想使用外键约束的话,其实是不可能实现的,所以说,我们在实际的项目开发中,我们不去定义物理的外键,所谓的逻辑外键指的是就是我们在定义两张表的结构的时候,我们是按照存在的某种结构的方式去定义,但是不去使用FOREIGN KEY这个关键词来定义。
    查看全部
  • 外键约束 1. CASCADE: 从父表删除或更新且自动删除或更新子表中匹配的行。 2. SET NULL: 从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL。 3. RESTRICT: 拒绝对父表的删除或者更新操作。 4. NO ACTION: 标准SQL的关键字,在MySQL中与RESTRICT相同。 添加父表: mysql> CREATE TABLE provinces( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, pnane VARCHAR(20) NOT NULL ); 添加子表带CASCADE操作: mysql> CREATE TABLE user1( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(10) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES provinces (id) ON DELETE CASCADE );
    查看全部
  • mysql命令执行流程: 当成功输入sql命令以后,mysql引擎会首先对输入的命令进行语法分析,语法正确的话变成mysql引擎可以识别的命令执行,并且把执行结果返回给客户端 MYSQL存储过程简介 存储过程是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理。 存储过程存储在数据库内,可由应用程序调用执行。允许用户声明变量,进行过程控制及接受参数,且可存在多个返回值。存储过程是预编译的,当第一次调用时,会进行编译和分析并把结果存于内存中供下次调用,后面再调用则不用。 优点: 1.增强SQL语句的功能和灵活性:可以通过控制语句对流程进行控制和判断 2.实现较快的执行速度:只在第一次调用时进行语法分析和编译,以后直接从内存中得到结果 3.减少了网络流量
    查看全部
  • 聚合函数: 只有一个返回值!eg. AVG,COUNT,MAX,MIN,SUM
    查看全部
  • 创建具有复合结构函数体的自定义函数 当函数体包含多条语句时,要使用BEGIN...END语句包起来 编写函数体内容时,先用 DELIMITER 关键字将分隔符修改为别的,否则编写语句时写到 ';' 就会直接执行 Eg: DELIMITER // CREATE FUNCTION ADD_USER(p_id SMALLINT,username VARCHAR(20)) RETURNS INT UNSIGNED BEGIN INSERT user(p_id,username) VALUES(p_id,username); RETURN LAST_INSERT_ID(); END 删除函数:DROP FUNCTION [IF EXISTS] function_name
    查看全部
  • MySQL目录结构
    查看全部

举报

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

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