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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • mysql默认的端口号3306 超级用户 root 创建数据 CREATE DATABASE 修改数据库 ALTER DATABASE 删除数据库 DROP DATABSE
    查看全部
    0 采集 收起 来源:内容回顾

    2017-10-19

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

    2017-10-19

  • 有问题,id自动添加参照的并不是当前最大id……而是一个类似计数器的变量,每条记录在插入的时候计数器自增,然后再赋值给记录的id字段……所以当删除一条最大id的记录后再次插入一条记录……id还是按照当前插入次数来赋值id
    查看全部
  • @MySQL——(五)子查询与连接——一OUTER JOIN 1、LEFT JOIN:显示左表全部和左右符合连接条件的记录 2、RIGHT JOIN:显示左右符合连接条件的记录和右表全部记录 3、若某字段只存在某一表,则另一表的里字段返回nul
    查看全部
    0 采集 收起 来源:外连接OUTER JOIN

    2017-10-19

  • 多表更新之一步到位 建表、查询、写入三合一: CREATE TABLE tdb_goods_brands ( brand_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, brand_name VARCHAR(40) NOT NULL ) SELECT brand_name FROM tdb_goods GROUP BY brand_name; 多表更新: UPDATE tdb_goods AS g INNER JOIN tdb_goods_brands AS b ON g.brand_name = b.brand_name SET g.brand_name = b.brand_id; 通过ALTER TABLE语句修改数据表结构 ALTER TABLE tdb_goods CHANGE goods_cate cate_id SMALLINT UNSIGNED NOT NULL, CHANGE brand_name brand_id SMALLINT UNSIGNED NOT NULL; PS: 外键,不一定是物理的外键,逻辑的外键也行,当然,物理外键更能保证数据的完整性和一致性。 数字类型的字段占用的空间更小,查询的效率也更高。
    查看全部
  • SELECT AVG(goods_price) FROM tdb_goods; //AVG函数代表求其平均值// SELECT ROUND(AVG(goods_price),2) FROM tdb_goods; //round(@,#)代表输出格式为@数小数点后#位输出// SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=5391.30; //输出价格大于5391.30的id、name、price// 综合起来运用子查询时: SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=(SELECT ROUND(AVG(goods_price),2) FROM tdb_goods); //查找价格大于平均值的商品// SELECT goods_price FROM tdb_price WHERE goods_cate='超级本'\G; //检索结果非唯一// 对于ANY、SOME、ALL的用法各有不同: SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=ANY (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本'); SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=ALL (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本'); SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=SOME (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本');
    查看全部
  • SELECT AVG(goods_price) FROM tdb_goods; //AVG函数代表求其平均值// SELECT ROUND(AVG(goods_price),2) FROM tdb_goods; //round(@,#)代表输出格式为@数小数点后#位输出// SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=5391.30; //输出价格大于5391.30的id、name、price// 综合起来运用子查询时: SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=(SELECT ROUND(AVG(goods_price),2) FROM tdb_goods); //查找价格大于平均值的商品// SELECT goods_price FROM tdb_price WHERE goods_cate='超级本'\G; //检索结果非唯一// 对于ANY、SOME、ALL的用法各有不同: SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=ANY (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本'); SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=ALL (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本'); SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=SOME (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本');
    查看全部
  • 记录操作:增,改,删,查 INSERT://增加记录,有三种方法。 INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr|DEFAULT},...),(...),... INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},... INSERT [INTO] tbl_name [(col_name,...)] SELECT... UPDATE://更新数据 单表更新 UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1|DEFAULT},[col_name2={expr2|DEFAULT}]...[WHERE where_condition] 多表更新 DELETE : //删除数据 单表删除 DELETE FROM tbl_name [WHERE where_condition} 多表删除 SELECT: //查询 SELECT select_expr [,select expr2...] 只查找某一个函数或表达式 [ FROM table_references 查询表名 [WHERE where_conditon] 查询条件 [GROUP BY {col_name|position} [ASC|DESC],...] 按某个字段进行分组,相同的只显示第一个 [HAVING where_conditon] 分组时,给出显示条件 [ORDER BY {col_name|expr|position} [ASC|DESC],...] 排序 [LIMIT {[offset,]row_count|row_count OFFSET offset}] 限制返回数量
    查看全部
    0 采集 收起 来源:小结

    2017-10-19

  • 1.MySQL中默认字符集的设置有四级:服务器级,数据库级,表级。最终是字段级的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。可以通过how create table table;或show full fields from tableName;来检查当前表中字段的字符集设置。 2.表创建后,再修改字段的字符集设置不影响已经插入的数据. 所以才会出在查看字段时出现中文乱码.此时就只能用:set NAMES‘utf8/gbk(用字段插入是所用的相应代码,且这个命令行并不影响服务器端数据)来查看中文内容 当数据库和数据表的编码不一样时,可能插入中文会出现乱码!排插步骤如下:(以utf8为例) 第一步:SHOW CREATE DATABASE XXXX;(我的是SHOW CREATE DATABASE test;) 查看你创建的数据库是否是:DEFAULT CHARACTER SET utf8 第二步:show create table xxxx 查看你创建的数据表是否是DEFAULT CHARSET=UTF8 第三步: 打开my.ini 在[client]节点下添加 default-character-set=utf8 在[mysqld]节点下添加 character-set-server=utf8 collation-server=utf8_general_ci保存,重启mysql! 再 mysql>show variables like 'char%';查看是否是下面一样: |character_set_client|utf8 |character_set_connection|utf8 |character_set_database|utf8 |character_set_filesystem|binary |character_set_results|utf8 |character_set_server|utf8 |character_set_system|utf8 |character_sets_dir|/opt/mysql-cluster/share/mysql/charsets/ 按以上步骤执行后,重新创建数据库imooc和表tdb_goods,就可以插入中文了!
    查看全部
    5 采集 收起 来源:数据准备

    2018-03-22

  • SHOW COLUMNS FROM 表名 (查看结构)
    查看全部
  • unsigned无符号
    查看全部
  • 提示符参数。
    查看全部
  • mysql提示符,用于数据库测试。
    查看全部
  • 整型分类
    查看全部
  • 1. 创建表: create table user( id smallint primary key not null auto_increment, name varchar(20), age smallint ); 2. show create table user; 查看创建表信息 show tables; 显示当前数据库所有的表 show columns from user; 显示列属性 或 discribe user; show indexes from user \G; 显示所有的索引,“\G” 表示按列显示 3. drop table user1; 删除表 4. 表添加一列: alter table user add age tinyint 表删除一列: alter table user drop age; 5. 添加主键约束:alter table user2 add primary key (id); 删除主键约束:alter table user2 drop primary key; 添加唯一约束: alter table user2 add unique key uni_key (name); 删除唯一约束: drop index uni_key on user2; 添加外键约束:alter table user2 add foreign key (age) references user(id); 添加默认约束:alter table user2 alter age set default 20; 删除默认约束:alter table user2 alter age drop default; 修改列属性:alter table user2 modify name varchar(30); 修改列名:alter table user2 change age age1 tinyint not null; 修改表名:alter tabler user2 rename user3 或者 rename table user3 to user2; 注:尽量不要修改列名和表名
    查看全部
    0 采集 收起 来源:小结

    2017-10-18

举报

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

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