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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 1、主键约束:ALTER TABLE 表名 ADD PRIMARY KEY(列名); 2、外键约束:ALTER TABLE 表名 ADD FOREIGN KEY(外键列) REFERENCES 参照表(参照列); 3、唯一约束:ALTER TABLE 表名 ADD UNIQUE KEY(列名); 4、添加默认约束:ALTER TABLE 表名 SET DEFAULT 默认值; 5、删除默认约束:ALTER TABLE 表名 DROP DEFAULT;
    查看全部
  • MARK
    查看全部
  • PRIMARY KEY (1)主键约束 (2)每张数据表只能存在一个主键 (3)主键保证记录的唯一性 (4)主键自动为NOT NULL
    查看全部
  • 约束 1. 约束保证数据的完整性和一致性。 2. 约束分为表级约约束和列级约束。 3. 约束类型包括: NOT NULL(非空约束) PRIMARY KEY(主键约束) UNIQUE KEY(唯一约束) DEFAULT(默认约束) FOREIGN KEY(外键约束) FOREIGN KEY(外键约束) 作用: 保持数据一致性,完整性 实现一对一或者一对多关系 要求: 1. 父表和子表必须使用相同的存储引擎,而且禁止使用临时表。 子表: 具有外键列的表。 父表: 子表参照的表。 2. 数据表的存储引擎只能为InnoDB。 3. 外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。 * 数字长度或是否有符号位必须相同,否则将提示错误并无法创建外键约束: 外键列: 加过外键列的列。 参照列: 外键列所参照的列。 4. 外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。 编辑数据表的默认存储引擎 MySQL配置文件: default-storage-engine=INNODB 查看创建表的存储引擎: SHOW CREATE TABLE table_name; 例子: 父表: mysql> CREATE TABLE provinces( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, //参照列: id pnane VARCHAR(20) NOT NULL ); 子表: mysql> CREATE TABLE users( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES provinces (id) //外键列: pid 参照列:provinces.id );
    查看全部
  • 外键约束的要求
    查看全部
  • 创建表的过程中:空值与非空的问题 (1)NULL,字段值可以为空 (2)NOT NULL,字段值禁止为空 eg。 CREATE TABLE tb2( username VARCHAR(20) NOT NULL, age TINYINT UNSIGNED NULL ); // 用户名非空,年龄可以为空
    查看全部
  • 外键约束的参照操作: 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, //参照列: id 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 ); 为父表添加数据: INSERT INTO provinces(pname) VALUES('A') INSERT INTO provinces(pname) VALUES('B') INSERT INTO provinces(pname) VALUES('C') 删除父表中的数据,并影响子表数据: DELETE FROM provinces where id = 3; ==> 父表id为3的数据被删, 其子表中pid为3的数据也被删! *外键约束 很少使用物理外键约束(innodb支持),在实际开发用的比较多是逻辑外键(不使用freign key)
    查看全部
  • 查看数据表结构 SHOW COLUMNS FROM tbl_name
    查看全部
  • MySQL默认端口号 3306 MySQL超级用户 root 创建数据库 CREATE DATABASE 修改数据库
    查看全部
    0 采集 收起 来源:内容回顾

    2015-09-01

  • 查看数据表列表 SHOW TABLES [FROM db_name] [LINK 'pattern' | WHERE expr] eg. 查看数据库中的所有表: SHOW TABLES FROM mysql;
    查看全部
  • mysql 登陆命令
    查看全部
  • limit语句限制查询数量: SELECT * FROM users LIMIT 2 ;返回前两个 SELECT * FROM users LIMIT 2,3 ;从第三个开始(第一个为0),返回三条。 第三种insert,数据从一个表插入到另一个表: INSERT test(username) SELECT username FROM users WHERE age >=30;
    查看全部
  • 创建数据表的各种约束: PRIMARY KEY 主键约束 UNIQUE KEY 唯一约束 DEFAULT 默认约束 NOT NULL 非空约束
    查看全部
    0 采集 收起 来源:回顾和概述

    2015-09-01

  • 1、对查询结果进行排序:[ORDER BY [col_name | expr | position][ASC|DESC],...]; 2、可以同时按多条字段进行排序,规则是先按前面的字段排,在基础上再按后面字段排。 3、如:SELECT * FROM users ORDER BY age,id DESC; 先按照age排序,如果age有重复的,重复的字段里按id排序
    查看全部
  • [HAVING where_condition] 分组条件要么为一个聚合函数,要么出现在SELECT 条件中 SELECT sex FROM users GROUP BY 1 HAVING age > 35; //有错 SELECT sex, age FROM users GROUP BY 1 HAVING age > 35; SELECT sex FROM users GROUP BY 1 HAVING count(id) >= 2; 聚合函数永远只有一个返回结果
    查看全部

举报

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

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