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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
学习人数
综合评分9.67
950人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 删除约束: 

    1,删除主键约束: alter table 表名 drop primary key ; 主键一张表中只能有一个 所以不用加条件 

    2,删除唯一约束: alter table 表名 drop {index 或 key} 列名 ; 

    3,删除外键约束: alter table 表名 drop foreign key 外键索引名字; show create table 表名;查看外键索引名字 

     可以通过 show indexes from 表名; 查看变种有哪些索引

    查看全部
  • 在已经建好的表中添加约束: 

    1, 主键约束: alter table 表名 add primary key (列名); 

    2,外键约束: alter table 表名 add foreign key (外键列) references 参照表 (参照列); 

    3, 唯一约束: alter table 表名 add unique key (列名) ; 

    4, 添加默认约束: alter table 表名 set default 默认值; 

    5, 删除默认约束: alter table 表名 drop default;


    查看全部
  • cls清命令框屏
    查看全部
  • 创建数据表的时候,是否需要根据存储的数据特征来选择数据类型,是否需要选择精度最接近实际情况的类型?比如有一个保存年龄的字段,我们用什么数据类型好,设置它的长度是多少。这样做有什么好处?
    查看全部
  • 数据类型 整型 (tinyint smallint mediumint int bigint) 浮点型 (FLOAT{[M,D]},DOUBLE{[M,D]})M:总位数,D:小数点后位数 日期 (YEAR DATE TIME TIMESTEMP) 字符型 (CHAR VARCHAR TEXT) 显示数据库 SHOW DATABASES; 显示表结构 SHOW COLUMNS FROM table; 显示所有表 SHOW TABLES; 进入数据库 USE 数据库; 创建数据库 CREATE DATABASE 库名; 创建表 CREATE TABLE 表名(字段及信息); 插入数据 INSERT INTO table []VALUES();[]为空说明插入全部的值 查询数据 SELECT 字段 FROM table WHERE 条件 自增自动编号 auto_increment 主键约束 primary key(有auto_increment的一定是主键,主键不一定有auto_increment) 唯一约束 unique key 默认约束 default 当没有赋值时则自动添加默认值

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

    2018-12-05

  • insert tb_name(......)values(....)增加

    select  .... from  tb_name   查找


    查看全部
  • 存储引擎:

    MysQL可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。

    每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。

    存储引擎包括:MyISAM;InnoDB;Memory;CsV;Archive。

    解决一些问题:当一个用户调用一个记录进行修改,同时有一个用户在查看该条记录,那么就可能出现有一个用户被迫退出或者查看记录的那个出现错误。这时触发并发控制:即保证数据的一致性和完整性。

    用锁系统来解决这类问题:共享锁和排他锁

    -共享锁(读锁) :在同一时间段内,多个用户可以读取同一个资源读取过程中数据不会发生任何变化。
    -排他锁(写锁) :在任何时候只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或者写锁操作。

    锁颗粒-表锁,是一种开销最小的锁策略。行锁是一种开销最大的锁策略。

    事务:【简单介绍的,高级课程会有更多介绍】

    外键:保证数据一致性

    索引:对数据的一行或者多行进行排序的一种结构

    查看全部
  • MySQL是这样执行的:sql命令——>mysql引擎——>分析语法正确——>编译成可识别的命令——>执行结果——>返回客户端

    如果我们省略掉分析和编译的过程那么可以节省很多。

    存储过程:是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元来处理。

    存储过程存储在过程之内,可以由应用程序调用执行,允许用户声明变量,以及流程控制;存储过程可以接受参数,也可以接受输出类型的参数;并且可以存在多个返回值。

    创建存储过程:

    CREATE
    [DEFINER = { user | CURRENT-USER }]
    PROCEDURE sp_name ([proc_parameter[,...]]) 
    [characteristic ...] routine_body


    proc_parameter:
    [IN | OUT I INOUT ] param_name type

    【解释】:

    IN:表示该参数值必须在调用存储过程时指定;(只进不出)

    OUT:表示该参数值可以被存储过程改变并且可以返回。(可出不进)

    INOUT:表示该参数的调用时指定,并且可以被改变和返回。

    过程体:合法的SQL语句;可以时任意的增删改查链接的SQL语句;如果有复合结构则使用BEGIN...END 语句;复合结构中可以声明,循环和调用。

    创造一个没有参数的存储过程:

    CREATE PROCEDURE sp1() SELECT VERSION();

    调用存储过程:

    CALL sp_name([parameter[,...]])

    CALL sp_name[()]

    如果没有参数那么用哪个调用都可以,但是如果由参数则只能用第一个。

    那么调用上面的存储过程:CALL sp1;(或者CALL sp1();)

    DELIMITER//

    >CREATE PROCEDURE removeUserById(IN id INT UNSIGNED)

    ->BEGIN

    ->DELETE FROM users WHERE id = id;

    ->END

    ->//

    ->DELIMITER ; 

    此处的id 存在歧义,因此应该进行修改。

    修改存储过程:

    ALTER PROCEDURE sp_name[characteristic ... ] COMMENT 'string' |{CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA} | SQL SECURITY {DEFINER | INVOKER }

    只能修改注释,当前的内容的类型。

    删除存储过程:

    DORP PROCEDURE [IF EXISTS] sp_name

    但是在这里只能用删除,而不能赢用修改

    DELETE PROCEDURE removeUserById;

    (重新构建一下数据表的id)


    DELIMITER//

    >CREATE PROCEDURE removeUserById(IN p_id INT UNSIGNED)

    ->BEGIN

    ->DELETE FROM users WHERE id = p_id;

    ->END

    ->//

    ->DELIMITER ; 

    删除id 不固定的记录吗,并且返回剩余的记录数;

      DELIMITER //

    CREATE PROCEDURE removeUserAndReturnUserNUMS(IN p_id  INT UNSIGNED,OUT userNums INT UNSIGNED)

    ->BEGIN

    ->DELETE FROM users WHERE id = p_id;

    ->SELECT count(id) FROM users INTO userNums;

    ->END

    ->//

    ->DELIMITER ;

    ->CALL removeUsersAndReturnUserNums(27,@nums);

    @nums 就是变量

    局部变量:DELETE/CLEAR,他的应用范围只在BEGIN...END 之间。也就是说在BEGIN ... END 结束后局部变量就消失了。

    用户变量:即SELECT ... INTO... / SET @i=9 ;他是跟MySQL的客户端链接的,也就是只对用户的客户端生效。


    【介绍一个ROW_COUNT() 函数,返回的是被影响的行数(增、删、改、更)】

    如:

    >DELIMITER //

    >CREATE PROCEDURE removeUserByAgeAndReturnInfos(IN p_age SMALLINT UNSIGNED,OUT deleteUsers SMALLINT UNSIGNED,OUT userCounts SMALLINT UNSIGNED)

    ->BEGIN

    ->DELETE FROM users WHERE age=p_age;

    ->SELECT ROW_COUNT() INTO deleteUsers;

    ->SELECT COUNT(id) FROM users INTO userCounts;

    ->END

    ->//

    >DELIMITER ;

    >CALL RemoveUserByAgeAndRetrunInfos(20,@A,@B);


    存储过程和自定义函数的区别:存储过程经常用于表的操作,针对性强;存储过程可以有多个返回值而函数只能有一个;存储过程通常独立完成,而函数作为其他SQL语句的组成部分完成。

    在实际过程中很少用函数;对于稍微复杂的经常用到的封装成存储过程



    查看全部
  • 存储引擎的不同

    MyISAM:存储限制256TB,支持索引,表级锁定,数据压缩。

    InnoDB: 存储限制为64TB,支持事务和索引,锁颗粒为行锁。

    查看全部
  • 事物特性 Atomicity

                   Consistency

                     Isolation    

                    Durability

    查看全部
  • 1.查看数据表列表 SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr] SHOW TABLES; //查看当前数据库中的表 SHOW TABLES FROM mysql; FROM之后,当前数据库不会发生改变 SHOW COLUMNS FROM tb1; 查看tb1中的数据表结构

    查看全部
  • use database_name;  //使用数据库/打开数据库

    select database();  //查看当前数据库

    create table table_name();   //创建表

    show tables;  //查看数据表列表

    show tables from mysql;  //查看mysql中存在的表


    查看全部
  • 四种数据类型:

    整型:TINYINT SMALLINT MEDIUMINT BIGINT

    浮点型:FLOAT or DOUBLE[(M,D)] M是数字的总位数 D是小数点后的位数

    日期时间类型:用的较少,多以时间戳的形式存储

    字符型 char(5) 五个字节长的char类型 


    查看全部
  • 初涉MySQL——操作数据库 一、数据库创建:CREATE 1、语法:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name. 2、DATABASE和SCHEMA是相同的,任选其一 3、IF NOT EXISTS:如果创建的数据库存在,则只是报出warning,不写会报错 4、CHRARCTER SET gbk:为表设置编码方式,如果不设置则用mysql默认的编码方式 二、查看数据库列表:SHOW 1、SHOW { DATABASE | SCHEMAS } [LIKE 'pattern' | WHERE expr] 2、SHOW CREATE DATABASE xx:显示xx数据库信息 三、数据库的修改:ALTER 1、修改数据库编码方式:ALTER { DATABASE | SCHEMAS } [db_name][DEFAULT] CHARACTER SET [=] charset_name 四、删除数据库:DROP 1、删除数据库:DROP { DATABASE | SCHEMAS } [IF EXISTS] db_name; mysql -uroot -proot prompt \D --修改mysql操作符为当前日期 show databases --展示所有数据库 create database if not exists t1 character set gbk; --创建数据库 show create database t1; --展示数据库t1的创建命令和编码形式 --修改数据库编码格式 alter database t2 character set =utf8; --删除数据库 drop database if exists t1; --展示警告信息 show warnings;

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

    2018-12-01

  • mysql

    语句的规范:

    1.关键字和函数名全部大写;2.数据库的名称,表的名称,字段的名称全部要小写;3.语句要以“;”结尾。

    查看全部

举报

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

微信扫码,参与3人拼团

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

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