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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 修改字段的排位:

    (1)、ALTER TABLE 表名称 MODIFY 字段名称 对应正确的参数[FIRST|AFTER 对应的位置]

    修改字段的参数:

    (1)、ALTER TABLE 表名称 MODIFY 字段名称 修改为正确的参数[FIRST|AFTER 对应的位置]

    修改字段名称:

    (1)、ALTER TABLE 表名称 CHANGE 要修改的字段名 修改后的字段名 数据的参数

    修改数据表的名称:

    (1)、ALTER TABLE 数据表名称 RENAME 新的数据库名称;

    (2)、REAME TABLE 数据表名称 TO 新的数据表名称;这种方法可以修改多个数据表名称

    -------------------------------------------举例--------------------------------------------

    1.修改列定义

    ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST; //将id字段的位置提到第一列

    ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL; //修改数据类型smallint-->tinyint,需注意数据丢失的问题

    2.修改列名称

    ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED; //修改列名称

    3.数据表更名

    方法1

    ALTER TABLE users2 RENAME [TO/AS] users3;

    方法2

    RENAME TABLE users5 TO users2[,user6 TO user7];//可一次性改多,数据库和表名修改时需要注意是否被引用,要修改全局都要修改!

    2.约束

    按功能划分:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY

    按数据列的数目划分:表级约束, 列级约束

    3.修改数据表

    针对字段的操作:添加/删除字段、修改列定义、修改列名称等。

    针对约束的操作:添加/删除各种约束

    针对数据表的操作:数据表更名(两种方式)

    https://img1.sycdn.imooc.com//5aec60560001b7ac12800720.jpg

    https://img1.sycdn.imooc.com//5aec60570001dfaf12800720.jpg

    https://img1.sycdn.imooc.com//5aec605800017a5312800720.jpg

    https://img1.sycdn.imooc.com//5aec60590001888e12800720.jpg


    查看全部
  • SHOW TABALES FROM mysql;

    查看全部
  • - 创建数据库
    CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [[DEFAULT] CHARACTER SET [=] charset_name];
    -- 修改数据库
    ALTER {DATABASE | SCHEMA} [db_name]
    [DEFAULT] CHARACTER SET [=] charset_name;
    -- 删除数据库
    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;
    -- 查看数据库字符集编码
    SHOW CREATE DATABASE db_name;

    查看全部
    0 采集 收起 来源:操作数据库

    2018-05-04

  • 1.删除主键约束:ALTER TABLE 表名称 DROP PRIMARY KEY ;

    注:不加字段名是因为每个表的主键只能有且只有一个,所有不用加


    2.删除唯一约束:ALTER TABLE 表名称 DROP {INDEX|KEY} 约束的名称 ;(show indexs from 表查看唯一字段的约束名称然后删除)


    3.删除外键约束:ALTER TABLE 表名称 DROP FOREIGN KEY 外键约束名称(可以使用show create table 外键的表名称) ;

    查看全部
  • 外键约束的要求

    查看全部
  • 1.添加主键约束:ALTER TABLE table_namae ADD [CONSTRAINT[主键名字]] PRIMARY KEY [INDEX_TYPE] (INDEX_COL_NAME) 比如:ALTER TABLE user ADD constraint PRIMARY KEY (id);


    2.添加唯一约束:ALTER TABLE table_namae ADD [CONSTRAINT[唯一约束名字]] UNIQUE  (INDEX_NAME) 比如:ALTER TABLE user ADD constraint PRIMARY KEY (id);


    3.添加外键约束:ALTER TABLE table_namae ADD [CONSTRAINT[外键约束名字]] FOREIGN KEY (INDEX_NAME) 比如:ALTER TABLE user ADD constraint FOREIGN KEY (id) REFERENCES province (pid);


    4.删除主键约束:ALERT TABLE table_name DROP PRIMARY KEY;


    5.删除唯一约束:ALERT TABLE table_name DROP INDEX INDEX_NAME;比如:ALERT TABLE user DROP INDEX username;


    6.修改列位置:ALERT TABLE table_name MODISFY [COLNMNS] columns_name columns_difinition [FIRST|AFTER columns_name];


    7.修改列定义:ALERT TABLE table_name MODISFY columns_name columns_difinition;


    8.修改列名称:ALERT TABLE table_name CHANGE columns_name new_columns_name columns_difition;


    查看全部
    1. 添加单个字段:

    (1)ALTER TABLE 表名称 ADD [COLUMN] 字段名称 字段定义 [FIRST|AFTER columnName];这是添加列操作,也就是添加字段的操作,

    (2)first意思是将新建的字段插在所有字段的前面,如果[]的都没选则排到最后面

    (3)after id-->意思是将username字段插在id的后面!

        2.添加多个个字段:

    (1)ALTER TABLE 表名称 ADD ([COLUMN] 字段名称 字段定义,[COLUMN] 字段名称 字段定义);

    (2)添加多列时要加括号,添加多列时不能指定位置关系,只能在原有列的下方。

    3.删除单个字段:

      (1)ALTER TABLE 表名称 DROP  [COLUMN ]  字段名称 ;

    4.删除多个字段:

    (1)ALTER TABLE 表名称 DROP  [COLUMN ] 字段名称,DROP 字段名称  ;


    查看全部
  • 表级约束与列级约束 实际开发列级约束用的多,表级约束很少能用到 NOT NULL 、DEFAULT只在列级约束 主键约束、唯一约束、外键约束可存在表级和列级约束

    注:

          列级约束:对一个数据列建立的约束,称为列级约束

          表级约束:对多个数据列建立的约束,称为表级约束


    查看全部
    1. 外键:主要功能就是在两个表(父表和子表)之间建立某种联系,外键列对应的记录必须是参照列中已有的记录 2. 在用FOREIGN KEY指定外键列和参照列时,可以对参照操作进行约束,<br> 比如FOREIGN KEY(pid) REFERENCES 参照表名(id) ON DELETE CASCADE;就是指定在删除父表(即参照表)中的数据记录时,会自动删除子表中对应的记录 3. 在确定了外键后,只有父表中已有的记录,子表才能创建,比如这里的id和pid,子表中pid的值只能取父表中中id的某一个值;


    2. 参照操作:(在进行了外键约束的创建以后,在更新表的时候字表也进行相应的操作)

      ①:ON DELETE CASCADE--------从父表删除,自动删除子表中匹配的记录

      delete from  表 where(如字段=xx数值的条件成立时)执行删除2个表的记录

      ②:ON UPDATE CASCADE---------从父表更新,自动更新子表中匹配的行

    3. 注:在实际项目中很少使用物理的外键约束的大多使用逻辑的外键约束。物理的只有inonDB的引擎才支持

    查看全部
  • 。。。。。。。

    查看全部
  • 代码案例:外键约束(FOREIGN KEY):

    (pid为子表中的外键列,id为父表的参照列)

    比如有一个省份表:CREATE TABLE province(


                                  id SMALLINT UNSIGNED AUTO_INCREMENT PARIMARY KEY,


                                  pname VARCHAR(20) NOT NULL


                                 );


                一张用户表:CREATE TABLE user(


                                id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,


                                uname VARCHAR(20) ,


                                 pid SMALLINT,


                                 FOREIGN KEY (pid) REFERENCES province (id)


                                );

    查看全部
    1. 约束: ①.约束保证数据的完整性和记录的唯一性 2.约束分为表级约束和列级约束

      注:列级约束:对一个数据列建立的约束,称为列级约束

            表级约束:对多个数据列建立的约束,称为表级约束

    2. 外键约束 foreign:


      ①.保证数据一致性,完整性。 ②.实现一对一或者一对多的关系。

    3.外键约束要求:

         ①.父表和子表必须使用相同的存储引擎,而且禁止使用临时表<br>     

        ②.数据表的存储引擎只能为InnoDB<br>    

        ③.外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号   位必须相同;而字符的长度则可以不同(总之:数据类型必须相同,字符类型可以相似)   

         ④.外键列和参照列必须创建索引。如果参照列不存在索引,MySQL将自动创建索引。如果外键列不存在索引的话,MySQL将不创建索引。

         ⑤.主键会自动创建索引,查看索引的方式是 show index from 对应的表;后面加上\G是以网格查看

        ⑥.foreign key (作外键的字段) relerences 参照表 (主键); 


    查看全部
  • 如何创建数据表

    查看全部
    0 采集 收起 来源:回顾和概述

    2018-05-04

  • 1、查看版本号:select version();

    2、查看日期:select version();

    3、查看用户:select user();

    4、创建数据库:CREATE  DATABASE 数据库名;

    5、查看数据库:SHOW DATABASES;

    6、修改字符格式:ALTER DATABASE 数据库名 CHARACTER SET utf8;

    7、删除数据库:ALTER DATABASE 数据库名 CHARACTER SET GBK;

    8、查看数据库里的表:Use 数据库名/show tables

    9、查看数据结构:show columns from 表名

    10、表中添加字段:alter table 表名add 字段名 字符类型auto_increment primary key not null

    11、Primary key、Unique key、Default key、Foreign key


    查看全部
    0 采集 收起 来源:总结

    2018-05-04

  • DEFAULT 默认约束:插入记录时,没有明确为字段赋值,则赋予默认值

    CREATE TABLE tb1(

    id TINYINT UNSIGNED AUTO_INCREMNET PRIMARY KEY,

    username VARCHAR(20) NOT NULL UNIQUE KEY,

    sex EDUM('1','2','3') DEFAULT '3'

    );

    INSERT tb1(username) VARCHAR (‘Tom’);   //只赋值username,结果会显示sex也显示赋值为'3',DEFAULT的功能~


    查看全部

举报

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

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