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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 1.修改列定义 ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST |AFTER col_name]; ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST; //将id字段的位置提到第一列 SHOW COLUMNS FROM users2; ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL; //修改数据类型,需注意数据丢失的问题 2.修改列名称 ALTER TABLE tbl_name CHANGE [COLUMN] col_name new_col_name column_definition [FIRST|AFTER col_name]; ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED; //修改列名称 3.数据表更名 方法1 ALTER TABLE tbl_name RENAME [TO/AS] new_tbl_name ALTER TABLE users2 RENAME TO users3; SHOW TABLES; ALTER TABLE users2 RENAME AS users4; SHOW TABLES; ALTER TABLE users2 RENAME users5; 方法2 RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ... RENAME TABLE users5 TO users2; 近来少使用数据表的列名及表名的更名。 2.约束 按功能划分:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY 按数据列的数目划分:表级约束, 列级约束 3.修改数据表 针对字段的操作:添加/删除字段、修改列定义、修改列名称等。 针对约束的操作:添加/删除各种约束 针对数据表的操作:数据表更名(两种方式)
    查看全部
  • 1.删除主键约束 ALTER TABLE tbl_name DROP PRIMARY KEY; ALTER TABLE users2 DROP PRIMARY KEY; SHOW COLUMNS FROM users2; 2.删除唯一约束 ALTER TABLE tbl_name DROP {INDEX|KEY} index_name; ALTER TABLE users2 DROP INDEX username; SHOW COLUMNS FROM users2; SHOW INDEXES FROM users2; 3.删除外键约束 ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol; SHOW CREATE TABLE users2; ALTER TABLE users2 DROP FOREIGN KEY ...;
    查看全部
  • 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;
    查看全部
  • 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.
    查看全部
  • 对一个数据列建立的约束,称为列级约束. 对多个数据列建立的约束,称为表级约束. 列级约束既可以在列定义时声明,也可以在列定义后声明。 表级约束只能在列定义后声明。 NOT NULL和DEFAULT约束不存在表级约束
    查看全部
  • 外键约束下的表,父表修改后,子表是否进行修改。 CASCADE:从父表删除或更新且自动删除或更新子表中匹配的列; SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL; RESTRICT:拒绝对父表的删除或更新操作; NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同。 FOREIGN KEY (key_name) REFERENCEES table_name (key_name) ON DELETE CASCADE; ON DELETE \ ON UPDATE 插入记录时,需先在父表中插入记录,而后才能在子表中插入记录。
    查看全部
  • FOREIGN KEYp:保持数据一致性,完整性;实现一对一或一对多关系。 要求:父表和子表必须使用相同的存储引擎,而且禁止使用临时表;数据表的存储引擎只能为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 字段 */ )
    查看全部
  • 外键创建要求
    查看全部
  • 外键约束
    查看全部
  • 数据库约束
    查看全部
  • UNIQUE KEY:唯一约束,可以保证记录的唯一性,其字段也可以为空值,但只允许一个字段为空,每张表可以存在多个唯一约束。 Eg: CREATE TABLE table_name( id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(20) NOT NULL UNIQUE KEY )
    查看全部
  • 唯一约束 unique key保证记录的唯一性
    查看全部
  • 1.查看数据表列表 SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr] SHOW TABLES; //查看当前数据库中的表 SHOW TABLES FROM mysql; FROM之后,当前数据库不会发生改变 SHOW COLUMNS FROM tb1; 查看tb1中的数据表结构
    查看全部
  • 1、CHAR(M):定长类型,比如CHAR(5),如果我们只赋值abc,那么系统会自动在后面补两个空格0——255 2、VARCHAR(M):变长类型,L+1个字节,其中L<=M且0<=M0——65535 3、ENUM('value1','value2'...)枚举值,提供几个选项,选择其中一个,如:性别('男','女','保密') 4、SET('value1','value2'...) 最多64个成员,可以任选里面其中几个,任意排列组合~
    查看全部
  • M代表数字的总位数即:小数点前的位数+小数点后的位数 D代表小数点后面的位数
    查看全部

举报

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

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