为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
学习人数
综合评分9.67
950人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 另一种形式插入记录

    insert  表名 set  列名=' ',列名=' ';

    不可以多条插入。

    insert user set name='bob',age=10;


    insert 表名 select  ...      将查询的结果插入到指定数据表。

    查看全部
  • 默认约束 DEFAULT

    • 插入记录时,如果没有明确为字段赋值,则自动赋予默认值。


    查看全部
  • 主键索引不可以为空 唯一索引 可以 

    主键索引一张表里面只能存在一个 唯一索引可以存在多个

    当存储相同的数据时,唯一约束会报错 并提醒已经存在相同的数据

    查看全部
  • insert [into] 表名 [列名] values(,,,),(,,,);

    为自动编号的字段赋值时,可以用null或default,让其默认自增赋值

    如果省略列名,所有的列必须依次赋值,不让报错。

    复制可以写数学表达式,数学表达式,函数等

    如果字段赋过默认值的话,负值时可以将default付给它

    可以一次性写入多条记录

    insert 表名 values(,,),(,,);

    查看全部
  • alter table 表名 MODIFY id SMALLINT unsigned not null first;(修改列定义)移动id字段到表的第一列。

    修改数据类型时,从大类型修改为小类型,可能造成数据的丢失。

    show columns from 表名;查看表结构。

    alter table 表名 CHANGE pid p_id TINYINT unsigned not null;

    同时修改列名和列类型;

    alter table 旧表名 rename 新表名;修改数据表名

    rename table 表名 to 新表名,表名2 to 新表名2;修改数据表名(可以为多张数据表改名)

    查看全部
  • alter table 表名 drop primary key;删除主键约束;

    alter table 表名 drop index 字段名;删除唯一约束;

    show create table 表名;查看外键约束名称;

    alter table 表名 drop foreign key 外键约束名;删除外键约束;

    查看全部
  • alter table 表名 alter 列名 SET default 值;添加默认约束

    alter table 表名 alter 列名 DORP default;删除默认约束

    查看全部
  • MySQL自动编号(保证了每一条记录的唯一性)

    自动编号:为某一字段(必须为数值型,如果为浮点数,小数位数一定要为0)添加AUTO_INCREMENT属性,针对主键这一属性的特性。

    三:约束

    (一)主键约束 PRIMARY KEY

    • 每张数据表只能存在一个主键

    • 主键保证记录的唯一性

    • 主键自动为 NOT NULL

    #自动编号必须设为主键,但主键不一定需要自动编号

    特点1:必须与主键组合使用。

    特点2:默认情况下,起始值为1,每次增量为1.

    (二)唯一约束  UNIQUE KEY

    • 唯一约束可以保证记录的唯一性

    • 唯一约束的字段可以为空值(NULL)

    • 每张数据表可以存在多个唯一约束

    unique key 与 primary key的区别是:

    1. unique key 可以是为空的,但整张表的那个字段只允许有一个空。而primary key是不允许为空的。

    2. unique key 可以存在多个字段,而primary key 只能一个。

    (三)默认约束 DEFAULT

    • 默认值

    • 插入记录时,如果没有明确为字段赋值,则自动赋予默认值。

    CREATE TABLE tb2( 

     id SMALLINT UNSIGNED AUTO_INCREMENT PRINMARY KEY, 

     username VARCHAR(30) NOT NULL UNIQUE KEY, 

     sex ENUM('1','3','2')DEFALUT '3'

    );



    查看全部
  • 空值与非空

    • NULL,字段值可以为空

    • NOT NULL,字段值禁止为空

    mysql> CREATE TABLE tb2(
        -> username VARCHAR(20) NOT NULL.
        -> age TINYINT UNSIGNED NULL


    查看全部
  • 2.记录的插入与查找:

    插入记录:

    INSERT [INTO] tb_name [(col_name,...)] VALUES(val,...);

    如果插入全部字段值,列名字段名可省略

    例如 INSERT tb1 VALUES('Tom',25,7876.66)全赋值

    INSERT tb1(name,salary)VALUES('Tom',7876.66)部分赋值

    记录查找:

    SELECT expr,... FROM tb_name;

    全部记录:

    SELECT * FROM tb_name;


    查看全部
  • 2.查看数据表:

    • SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]

    3.查看数据库表结构:

    SHOW COLUMNS FROM tbl_name;



    查看全部
  • 二:操作数据表

    打开数据库

    USE 数据库名称;
    显示当前数据库
    SELECT DATABASE()

    创建数据表

    CRLEATE TABLE [IF NOT EXISTS] table_name (
      column_name data_type,
      ····
    CREATE TABLE tb1(
    username VARCHAR(20),
    age TINYINT UNSIGNED,
    salary FLOAT(8,2) UNSIGNED
    );


    查看全部
  • 4.字符型:

    CHAR 定长 比如CHAR(5),如果我们只赋值abc,那么系统会自动在后面补两个空格

    VARCHAR 变长 会根据输入长度进行变化

    ENUM('value1','value2') 单选  枚举值,提供几个选项,选择其中一个,如:性别

    SET('value1','value2'...)多选 在集合中做任意的排列组合,比如abc,可以是a,b,c,ab,bc...

    查看全部
  • 3.日期时间型

    #多用数字类型代替

    1b year 1901至2155 

    3b time -838:59:59至838:59:59 

    3b date 1000-1-1至9999-12-31 

    8b datetime 1000-1-1 00:00:00至9999-12-31 23:59:59 

    4b timestamp 1970-01-01 08:00:01至2038-01-19 11:14:07


    查看全部
  • 2.浮点型 FLOAT([M,D])

    存储范围:3.4*10∧38 M是数字的总位数,D是小数点后面位数(M>=D)。

    如果M和D省略,根据硬性允许的限制来保存值。

    单精度浮点型精确到大约7位小数位。 

    DOUBLE([M,D])存储范围:1.79*10∧308

    #多用FLOAT类型,因为存储范围越大,占用空间越多,选择最合适的类型而不是最大的类型

    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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