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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 删除唯一约束:ALTER TABLE user2 DROP INDEX index_name;为什么这里有索引的名字,原因在于一张表可以有多个唯一约束,一个字段有索引功能,那么这个字段就具有唯一约束。只有指定了索引的名字(也是字段名),才能确定是删除哪个字段的唯一约束。 删除主键约束:ALTER TABLE user2 DROP PRIMARY KEY;因为一个表只有一个字段能有主键约束,所以没必要指定字段名。 查看索引:SHOW INDEXES FROM user2; 删除索引和删除唯一约束是一样的。删除索引:ALTER TABLE user2 DROP INDEX index_name;
    查看全部
  • 删除了pid字段上的外键约束以后,通过输入SHOW CREATE TABLE user2;看见了这个:KEY 'pid' ('pid') 。老师说:这个字段还存在着索引,当然这个索引也不想要,就可以通过刚才的ALTER TABLE user2 DROP INDEX pid;删除pid上的索引。以上是老师的原话。以下是我的想法:删除索引的语句和删除唯一约束的语句一模一样,我大胆断定“一个字段有唯一约束,它就有索引功能。反过来,一个字段有索引功能,他一定有唯一约束。”另外pid删除了外键约束,还有索引功能,我得出结论:“一个字段若有外键约束,那么他也就有了索引功能,同样也有了唯一约束。” 若要删除数据表user2上的外键,那么就得知道外键约束的名称,怎么查询呢?通过 SHOW CREATE TABLE user2;可以得知,这个外键约束的名字user2_ibfk_1是系统赋予的,那么输入ALTER TABLE user2 DROP FOREIGN KEY user2_ibfk_1;就可以删除数据表user2上的外键。这是老师的原话,以下是我自己想的:要知道数据表上外键约束的名字,就要这样查SHOW CREATE TABLE user2而要知道数据表里某个字段上唯一约束的名字,就输入SHOW INDEXES FROM user2同样是约束,为什么查询的方式不一样呢,我陷入了深思。 时间: 2016-04-10 0 weixin19867203140756 weixin19867203140756 若删除username这个字段上的唯一约束,我们得知道约束的名字是谁。还有我们要清楚删除的是字段上的唯一约束,而并不是这个字段本身。我们首先查看约束的名字,通过SHOW INDEXES FROM user2;看到:key_name:username;这句的意思是在username字段上创建了一个名为username的约束。而其中的key_name中的key是索引。另外,查看字段在不在数据表里用这句:SHOW COLUMNS FROM user2;而查看数据表中约束存不存在的情况用这个:SHOW INDEXES FROM user2;上面这段话是老师的原话,意思是:唯一约束就是索引??
    查看全部
  • 添加外键约束:ALTER TABLE users2 ADD FOREIGN KEY(pid) REFERENCES provinces (id); 添加默认约束:ALTER TABLE users2 ALTER age SET DEFAULT 15; 删除默认约束:ALTER TABLE users2 ALTER age DROP DEFAULT; 数据表的修改操作:无非就是添加列,删除列,添加约束,删除约束。用的是ALTER,而INSERT是对数据表添加插入记录用的。 添加单列:ALTER TABLE users2 ADD age TINYINT UNSIGNED NOT NULL; 添加多列: ALTER TABLE users2 ADD (col_name column_definition,...); 删除列:ALTER TABLE users2 DROP age; 添加主键约束:ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id); 添加唯一约束:ALTER TABLE users2 ADD UNIQUE (username);
    查看全部
  • 对于一个列所创建的约束,称之为列级约束,而对于两个或两个以上的列所创建的约束,我们称之为表级约束,列级约束在使用的时候,既可以在列定义的时候声明,也可以在列定义以后声明,而表级的约束只能在列定义以后来声明,在实际开发中,用列级约束比较多,表级约束很少用,除此之外,在所有的约束中,并不是说每种约束都存在着表级或列级约束,其中,NOT NULL 非空约束,DEFAULT约束这两种约束就不存在表级约束,它们只有列级约束,而对于其他的三种,像主键,唯一,外键,它们都可以存在表级和列级约束。
    查看全部
  • 在外键约束当中,在实际的开发过程中,我们很少使用物理的外键约束,很多都去使用逻辑的外键约束,因为物理的外键约束只有INNODB这种引擎才会支持,像我们另外的一种引擎MYISAM的引擎则不支持,反过来说,如果我想创建的数据表,假设存储引擎为MYISAM,而且又想使用外键约束的话,其实是不可能实现的,所以说,我们在实际的项目开发中,我们不去定义物理的外键,所谓的逻辑外键指的是就是我们在定义两张表的结构的时候,我们是按照存在的某种结构的方式去定义,但是不去使用FOREIGN KEY这个关键词来定义。
    查看全部
  • 前面说的insert [column_name]values(...)[,(...),(....)];的方法比较常用,可以一次性插入多条记录,并且可以输入表达式甚至是函数 但是无法进行子查询 insert tb_name set column_name={expr|default}的方法是可以进行子查询,但是只能插入一条记录 第三种insert方法 insert table_name [(colname...)] select..... 这种方法就是把查询到的结果插入到指定数据表中
    查看全部
  • insert插入记录 INSERT [INTO] table_name [(column_name,...)] {VALUES|VALUE} ({expr|DEFAULT},...),(...),...; /** column_name 表示列名 expr 表示表达式 DEFAULT 可直接书写,表示默认值 当字段有自动增加的属性后,在插入表的所有字段的数据时,可以填写 NULL 或 DEFAULT 这两个关键字,表示按照原先默认自动增长的属性 插入多行数据时,可以用逗号隔开 */ Eg: INSERT INTO table_name VALUE(DEFAULT,'BeforeDayBreak',md5('123'),DEFAULT,0),(NULL,'Superman',md5('123'),DEFAULT,0); 自增的属性可以为其赋值为null或者default来实现自增 insert into users values(NULL,'Tom','123',25,1) 或者 insert into users values(DEFAULT,'Tom','123',25,1)
    查看全部
  • 本节知识点
    查看全部
    0 采集 收起 来源:小结

    2016-05-15

  • 1.修改列定义<br> ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST; //将id字段的位置提到第一列<br> ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL; //修改数据类型smallint-->tinyint,需注意数据丢失的问题<br> 2.修改列名称<br> ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED; //既可修改列名称,也可以修改类型<br> 3.数据表更名<br> 方法1<br> ALTER TABLE users2 RENAME [TO/AS] users3;<br> 方法2<br> RENAME TABLE users5 TO users2[,user6 TO user7];//可一次性改多,数据库和表名修改时需要注意是否被引用,要修改全局都要修改!<br> 2.约束<br> 按功能划分:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY<br> 按数据列的数目划分:表级约束, 列级约束<br> 3.修改数据表<br> 针对字段的操作:添加/删除字段、修改列定义、修改列名称等。<br> 针对约束的操作:添加/删除各种约束<br> 针对数据表的操作:数据表更名(两种方式)
    查看全部
  • 删除约束:<br> 1.删除主键约束:<br> ALTER TABLE tbl_name DROP PRIMARY KEY;<br> 2.删除唯一约束:<br> ALTER TABLE tbl_name DROP INDEX index_name;<br> 3.删除外键约束:<br> ALTER TABLE tbl_name DROP FORMARY KEY 外键的名字; 就是跟在CONSTRAINT 后面自定义的那个名字,用show crate table tbl_name来查看 4.查看索引和约束名:show indexes from tbl_name[\G];
    查看全部
  • 第二章知识点总结
    查看全部
    0 采集 收起 来源:小结

    2016-05-15

  • 总结:约束&数据表修改
    查看全部
  • 数据表更名
    查看全部
  • ALTER+CHANGE既能修改列定义,也能修改列名称
    查看全部
  • ALTER+MODIFY修改字段的数据类型和位置
    查看全部

举报

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

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