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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 外键列必须要有索引,如果参照列没有索引,系统自动创建索引

    查看全部
  • 一张表只能有一个主键,但可以有多个unique key(可以为空)

    查看全部
  • auto_incerment每次累加1,必须和主键联用

    查看全部
  • 一、 操作数据库中的记录

    1. 插入记录

    1.方法一

    INSERT [INTO] tbl_name [(col_name),...]
    {VALUES | VALUE} ({expr | DEAULT},...),(...),...;

    Demo: 为 t1 表的 age 属性插入一条记录

    INSERT t1(age) VALUES(14);

    注意:如果表名后面不加属性名,默认为插入全部属性

    2.方法二

    INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},...;

    Demo: 为 t1 表的 age 属性插入一条记录

    INSERT t1 SET age='18';

    说明: 与第一种方式的区别在于,此方法可以使用子查询(SubQuery)

    3.方法三

    INSERT [INTO] tbl_name [(col_name,...)] SELECT ...;

    说明: 此方法可以将查询结果插入到指定数据表。

    2. 更新记录

    1.方法一(单表更新)

    UPDATE [LOW_PRIORITY][IGNORE] table_reference SET
    col_name1={expr1|DEFAULT},[,col_name2={expr1|DEFAULT}]...
    [WHERE where_condition];

    Demo: 更新 t1 表所有 age 属性

    UPDATE t1 SET age = age + 5;

    3. 删除记录

    1.方法一(单表删除)

    DELETE FROM tbl_name [WHERE where_condition];

    Demo: 删除 t1 表中 age 属性为 18 的全部记录

    DELETE FROM t1 WHERE age = 18;

    4. 查找记录

    1.SELECT

    查找记录

    SELECT select_expr[,select_expr...]
    [
        FROM table_references,
        [WHERE where_condition]
        [GROUP BY {col_name|position} [ASC|DESC],...]
        [HAVING where_condition]
        [ORDER BY {col_name|expr|position}[ASC|DESC],...]
        [LIMIT{[offset]row_count|row_count OFFSET offset}]
    ];

    2.select_expr

    查询表达式

    • 每一个表达式表示想要的一列,必须有至少一个。

    • 多个列之间以英文逗号分隔。

    • 星号 (*) 表示所有列。tbl_name.* 可以表示命名表的所有列。

    • 查询表达式可以使用 [AS] alins_name 为其赋予别名

    • 别名可用于 GROUP BY,ORDRE BY 或 HAVING 子句

    1. WHERE

    条件表达式

    • 对记录进行过滤,如果没有指定 WHERE 子句,则显示所有记录

    • 在 WHERE 表达式中,可以使用 MySQL 支持的函数或运算符

    2. GROUP BY

    查询结果分组

    [GROUP BY {col_name | position} [ASC|DESC],...]

    Demo: 对 t1 表的 age 属性进行分组

    SELECT * FROM t1 GROUP BY age;
    3. HAVING

    分组条件

    [HAVING where_condition]

    注意: 保证分组条件为聚合函数或出现在查找结果中

    4.ORDER BY

    对查询结果进行排序

    [ORDER BY {col_name|expr|position}[ASC|DESC],...]
    5. LIMIT

    限制查询结果返回的数量

    [LIMIT {[offset,] row_count | row_count OFFSET offset}]


    我的博客:https://blog.csdn.net/liyuanyue2017

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

    2018-05-15


  • 一、 记录操作

    1. 创建数据表

    CREATE TABLE [IF NOT EXISTS] table_name(
    column_name data_type,
    ....
    );

    Demo: 创建一张名为 tb1 的表,包含 usename ,age 和 salary 三个字段

    CREATE TABLE tb1(
    username VARCHAR(20),
    age TINYINT UNSIGNED,
    salary FLOAT(8,2) UNSIGNED
    );

    2. 查看数据表列表

    SHOW TABLES [FROM db_name] [LIKE 'patten' | WHERE expr] ;

    Demo:

    SHOW TABLES;

    3. 查看数据表结构

    SHOW COLUMNS FROM tbl_name;

    DESC tbl_name;

    二、 数据表操作

    1. 概述

    数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础。

    实质就是一张二维表,其中行称为记录,列称为字段。

    2. 插入记录

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

    Demo: 为之前创建的 tb1 插入一条记录

    INSERT tb1(username,age,salary) VALUES("John",27,4999.60);

    3. 查找记录

    SELECT expr,... FROM tbl_name;

    Demo: 查找之前为 tb1 插入的记录

    SELECT * FROM tb1;

    4.修改数据表

    添加一列:

    ALTER TABLE tbl_name ADD [COLUMN] col_name 
    column_definition [FIRST | AFTER col_name];

    添加多列:

    ALTER TABLE tbl_name ADD [COLUMN]
    (col_name,column_definition,....);

    Demo: 为表 t1 添加 age 属性

    ALTER TABLE t1 ADD age INT;

    5.删除列

    ALTER TABLE tbl_name DROP [COLUMN] colname;

    Demo: 删除刚才为 t1 添加的 age 属性

    ALTER TABLE t1 DROP age;

    三、约束

    1. 目的

    保证数据的完整性和一致性

    2. 分类

    • 表级约束:针对两个及以上字段使用

      • 只能在列定义后声明

    • 列级约束:只针对一个字段使用

      • 既可以在列定义后声明,也可以在列定义时声明

    3. 包括

    • NOT NULL(非空约束)

    • PRIMARY KEY(主键约束)

    • UNIQUE KEY(唯一约束)

    • DEFAULT(默认约束)

    • FOREIGN KEY(外键约束)

    4. 非空约束

    • NULL,字段值可以为空

    • NOT NULL,字段值禁止为空

    Demo: 为 t2 表的 name 字段设置非空

    CREATE TABLE t2(
    name NOT NULL
    );

    5.  主键约束

    • PRIMARY KEY

    • 主键不一定必须和自动编号使用

    • 主键自动为 NOT NULL

    • 主键保证记录的唯一性

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

    6. 唯一约束

    • UNIQUE KEY

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

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

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

    7. 默认约束

    • DEFAULT

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

    8. 外键约束

    1. 作用

    保证数据一致性,完整性

    实现一对一或一对多关系

    2. 要求
    • 父表和子表必须使用相同的存储引擎,且禁止使用临时表

    • 数据表的存储引擎只能为InnoDB

    • 外键列和参照列必须具有相似的数据类型

    • 外键列和参照列必须创建索引

    3. 外键约束的参照操作
    • CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行

    • SET NULL:从父表删除或更新行,并设置子表中的外键列为 NULL。如果使用该选项,必须保证子表列没有指定 NOT NULL

    • RESTRICT:拒绝对父表的删除或更新操作

    • NO ACTION:与 RESTRICT 相同

    9. 自动编号

    • AUTO_INCREMENT

    • 自动编号,且必须与主键组合使用

    • 默认情况下,起始值为 1,每次增量为 1

    • 该子段一定为数值型,如果为浮点数小数位数为 0

    四、 修改数据表

    1. 添加主键约束

    ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]]
    PRIMARY KEY [index_type] (index_col_name,...)

    Demo: 为 t1 表的 age 属性添加主键约束

    ALTER TABLE t1 ADD CONSTRAINT PRIMARY KEY age;

    2. 删除主键约束

    ALTER TABLE tbl_name DROP PRIMARY KEY;

    3. 添加唯一约束

    ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]]
    UNIQUE [INDEX|KEY] [index_name] [index_type]
    (index_col_name,...);

    Demo: 为 t1 表的 age 属性添加唯一性约束

    ALTER TABLE t1 ADD UNIQUE(age);

    4. 删除唯一约束

    ALTER TABLE tbl_name DROP {INDEX|KEY} index_name;

    5. 添加外键约束

    ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]]
    FOREIGN KEY [index_type] (index_col_name,...)
    reference_definition;

    Demo: 为 t1 表的 age 属性参照 t2 表的 age

    ALTER TABLE t1 ADD FOREIGN KEY(age) REFERENCES t2(age);

    6. 删除外键约束

    ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol;

    7. 添加/删除默认约束

    ALTER TABLE tbl_name ALTER [COLUMN] col_name
    {SET DEFAULT literal | DROP DEFAULT};

    Demo: 为 t1 表的 age 属性赋予默认值 15

    ALTER TABLE t1 ALTER age SET DEFAULT 15;

    8. 修改列定义

    ALTER TABLE tbl_name MODIFY [COLUMN] col_name 
    column_definition [FIRST | AFTER col_name];

    Demo: 把 t1 表的 age 属性修改为 int 类型

    ALTER TABLE t1 MODIFY age INT;

    9. 修改列名称

    ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name 
    new_col_name column_definition [FIRST | AFTER col_name];

    Demo: 把 t1 表的 age 属性更名为 Age

    ALTER TABLE t1 CHANGE age Age INT;

    10. 数据表更名

    1. 方法一

    ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name;
    1. 方法二

    RENAME TABLE tbl_name TO new_tbl_name 
    [,tbl_name2 TO new_tbl_name2]...;


    我的博客:https://blog.csdn.net/liyuanyue2017

    查看全部
    1 采集 收起 来源:小结

    2018-05-15

  • https://img1.sycdn.imooc.com//5afa38910001509107350574.jpg

    查看全部
  • 关键字与函数名称全部大写

    数据库名字、表名字、字段名称

    SQL语句必须以分号结束


    查看全部
  • 一、数据表

    1. 概述

    数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础。

    实质就是一张二维表,其中行称为记录,列称为字段。

    二、 创建数据表

    1. 创建数据表

    CREATE TABLE [IF NOT EXISTS] table_name(
    column_name data_type,
    ....
    );

    Demo: 创建一张名为 tb1 的表,包含 usename ,age 和 salary 三个字段

    CREATE TABLE tb1(
    username VARCHAR(20),
    age TINYINT UNSIGNED,
    salary FLOAT(8,2) UNSIGNED
    );

    2. 查看数据表列表

    SHOW TABLES [FROM db_name] [LIKE 'patten' | WHERE expr] ;

    Demo:

    SHOW TABLES;

    3. 查看数据表结构

    SHOW COLUMNS FROM tbl_name;

    DESC tbl_name;

    4. 插入记录

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

    Demo: 为之前创建的 tb1 插入一条记录

    INSERT tb1(username,age,salary) VALUES("John",27,4999.60);

    5. 查找记录

    SELECT expr,... FROM tbl_name;

    Demo: 查找之前为 tb1 插入的记录

    SELECT * FROM tb1;

    三、 字段属性

    1. 空值与非空

    • NULL,字段值可以为空

    • NOT NULL,字段值禁止为空

    Demo: 为 t2 表的 name 字段设置非空

    CREATE TABLE t2(
    name NOT NULL
    );

    2. 自动编号

    • AUTO_INCREMENT

    • 自动编号,且必须与主键组合使用

    • 默认情况下,起始值为 1,每次增量为 1

    • 该子段一定为数值型,如果为浮点数小数位数为 0

    3.  主键

    • PRIMARY KEY

    • 主键不一定必须和自动编号使用

    • 主键自动为 NOT NULL

    • 主键保证记录的唯一性

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

    4. 唯一约束

    • UNIQUE KEY

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

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

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

    5. 默认约束

    • DEFAULT

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



    我的博客:https://blog.csdn.net/liyuanyue2017

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

    2018-05-14

  • 删除数据库:

    Drop database db-name ;

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

    2018-05-14

  • 修改数据库: alert database name character set =uft-8

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

    2018-05-14

  • 关键字与函数名称全部大写,数据库名称、表名称、字段名称全部小写,SQL语句必须以分号结尾


    查看全部
  • 查看当前服务器版本

    select version();

    显示当前日期时间

    select now();

    显示当前用户

    select user();

    查看全部
  • 一、启动/停止 MySQL 服务

    方法一:从操作系统层面

    我的电脑(右键)——》管理——》(左边列表)服务器和应用程序——》服务——》MySQL (右键)——》启动/停止/重新启动

    方法二:命令行

    打开 cmd 命令行窗口

    1. 启动 MySQL 服务
    net start mysql
    2. 停止 MySQL 服务
    net stop mysql

    注意:如果命令行提示拒绝访问,请以管理员身份打开命令行窗口

    二、MySQL 登陆

    1. mysql 参数(常用)

    • -u,用户名(默认为 root)

    • -p,密码(默认为 root)

    • -h,服务器名称(默认为 127.0.0.1)

    • -P,端口号(3306)

    • -V,输出版本信息并退出

    登陆: 账号密码必填,其他选填

    mysql -uroot -proot

    退出: 三个命令都可退出

    exit
    quit
    \q

    三、MySQL 语句的规范

    • 关键字和函数名称全部大写

    • 数据库名称、表名称、子段名称全部小写

    • SQL 语句必须以分号结尾

    注意:

    1. 大小写只是规范,不要求强制执行

    2. 之后代码中{  } 内内容为必选,[ ] 内内容为可选

    四、创建数据库

    1. 创建数据库

    CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name 
    [DEFAULT] CHARACTER SET [=] charset_name

    解读:

    DATABASE 和 SCHEMA完全相同任选其一,IF NOT EXSTS 如果不存在则创建数据库;如果存在则抛出警告,其后全部内容表示创建数据库时所使用的编码方式,如果不设置则使用默认编码方式

    Demo: 创建一个最简单的名为 t1 的数据库

    CREATE DATABASE t1;

    2. 查看当前服务器下的数据库列表

    SHOW {DATABASES | SCHEMAS} [LIKE 'pattern' | WHERE expr]

    Demo:

    SHOW DATABASES;

    3. 修改数据库

    ALTER {DATABASE | SCHEMAS} [db_name]
    [DEFAULT] CHARACTER SET [=] charset_name

    Demo: 修改名称为 t1 的数据库编码方式

    ALTER DATABASE t1 CHARACTER SET = utf8

    4. 删除数据库

    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

    Demo: 删除名称为 t1 的数据库

     DROP DATABASE t1


    更多更详细笔记,请参考我的博客:https://blog.csdn.net/liyuanyue2017


    查看全部
    0 采集 收起 来源:内容回顾

    2018-05-14

  • 锁:

    查看全部
  •  存储引擎相关知识点:

    查看全部

举报

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

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