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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • Mysql登陆
    查看全部
  • 1.添加主键约束 ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name, ...); CREATE TABLE users2( username VARCHAR(20) NOT NULL, pid SMALLINT UNSIGNED ); SHOW CREATE TABLE users2; ALTER TABLE users2 ADD id SMALLINT UNSIGNED; SHOW COLUMNS FROM users2; ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id); SHOW COLUMNS FROM users2; 2.添加唯一约束 ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...); ALTER TABLE users2 ADD UNIQUE (username); SHOW COLUMNS FROM users2; 3.添加外键约束 ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] FOREIGN KEY [index_name] (index_col_name, ...) reference_definition ALTER TABLE users2 ADD FOREIGN KEY (pid) REFERENCES province (id); 4.添加、删除默认约束 ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} ALTER TABLE users2 ADD age TINYINT UNSIGNED NOT NULL; ALTER TABLE users2 ALTER age SET DEFAULT 15; SHOW一下 ALTER TABLE users2 ALTER age DROP DEFAULT;
    查看全部
  • 数据类型
    查看全部
  • 创建数据库:CREATE DATABASE 修改数据库:ALTER DATABASE 删除数据库:DROP DATABASE
    查看全部
    0 采集 收起 来源:内容回顾

    2015-03-30

  • 1.修改数据表 添加单列 ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]; SHOW COLUMNS FROM users1; ALTER TABLE users1 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10; ALTER TABLE users1 ADD passwd VARCHAR(30) NOT NULL AFTER username; ALTER TABLE users1 ADD truename VARCHAR(20) NOT NULL FIRST; 2.添加多列 ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition, ...); 3.删除列 ALTER TABLE tbl_name DROP [COLUMN] col_name; ALTER TABLE users1 truename;//单次删除 ALTER TABLE users1 DROP passwd, DROP age; SHOW COLUMN FROM users1; 修改数据表 添加单列 ALTER TABLE table_name ADD [COLUNM] col_name column_definition [FIRST | AFTER col_name] --FIRST AFTER指定添加的位置 --添加多列 ALTER TABLE table_name ADD [COLUNM] (col_name column_definition,...) 删除列 ALTER TABLE tbl_name DROP [COLUMN] col_name 删除多列 ALTER TABLE tbl_name DROP [COLUMN] col_name, DROP [COLUMN] col_name,DROP [COLUMN] col_name.
    查看全部
  • 表级约束与列级约束 1、对一个列创建的约束为列级约束 2、对多个列创建的约束为表级约束 3、列级约束既可以在列定义时声明,也可以在列定义后声明 4、表级约束只能在列定义后声明(很少用到) NOT NULL和 DEFAULT只存在列级约束 主键 唯一 外键 都可以存在表、列级约束
    查看全部
  • FOREIGN KEY (key_name) REFERENCEES table_name (key_name) ON DELETE CASCADE; ON DELETE \ ON UPDATE 插入记录时,需先在父表中插入记录,而后才能在子表中插入记录!!
    查看全部
  • 1.外键约束的参照操作 CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行 SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL.如果使用该选项,必须保证子表列没指定非空 RESTRICT:拒绝对父表的删除或更新操作。 NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同 CREATE TABLE user1( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES province('id') ON DELETE CASCADE ); SHOW CREATE TABLE user1; INSERT province(pname) VALUES('A'); INSERT province(pname) VALUES('B'); INSERT province(pname) VALUES('C'); SELECT * FROM province; INSERT users1(username, pid) VALUES('TOM', 3); INSERT users1(username, pid) VALUES('John', 7);//不符合外键约束 INSERT users1(username, pid) VALUES('John', 1); INSERT users1(username, pid) VALUES('Rose', 3); SELECT * FROM users1; DELETE FROM province WHERE id=3; SELECT * FROM province; SELECT * FROM users1; 很少使用物理外键约束,常用逻辑的外键约束。 实际的使用中,一般不去定义物理的外键约束。
    查看全部
  • FOREIGN KEY:保持数据一致性,完整性;实现一对一或一对多关系。 要求:父表和子表必须使用相同的存储引擎,而且禁止使用临时表;数据表的存储引擎只能为InnoDB;外键列和参照列必须具有类似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同;外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。 在 MY.ini 文件中编辑默认的存储引擎:default-storage-engine=INNODB; 显示创建表的语句:SHOW CREATE TABLE table_name; 查看表是否有索引:SHOW INDEXS FROM table_name; 以网格查看表是否有索引:SHOW INDEXS FROM table_name\G; Eg: CREATE TABLE table_name1( id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL ) CREATE TABLE table_name2( id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(20) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES table_name1(id) /* 外键 pid 参照 table_name1中的 id 字段 */ )
    查看全部
  • net start mysql net stop mysql
    查看全部
  • 修改编码方式
    查看全部
  • 配置文件路径
    查看全部
  • 多表删除: DELETE table_name[.*] [,table_name[.*]] ... FROM table_references [WHERE where_condition] Eg: DELETE a FROM products AS a LEFT JOIN ( SELECT goods_id,goods_name FROM products GROUP BY goods_name HAVING count(goods_name) >= 2 ) AS b ON a.goods_name = b.goods_name WHERE a.goods_id > b.goods_id;
    查看全部
    0 采集 收起 来源:多表删除

    2018-03-22

  • /** 无限分类:即在同一张表中既有父类,又有子类 通过在分类表中再增加多一个字段标识其属于哪一个父类的 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;
    查看全部

举报

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

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