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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
学习人数
综合评分9.67
950人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  •  create table if not exists user(

        -> id smallint unsigned auto_increment primary key,                                   

        -> username varchar(20) not null default 'longge',                                    

        -> sex enum('1','2','3') default '1'

        -> );


    查看全部
  •  创建数据表

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

    查看全部
  • 打开数据库

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

    查看全部
  • MySQL字符型

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

    查看全部
  • TIMESTAMP时间范围

    1970年1月1日到2037年的一个值

    查看全部
  • 日期时间型

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

    查看全部
  • 存储数据选择合适的类型。

    查看全部
  • 数据库中的整型

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

    查看全部
  • unique 可以为空 因为可以存在一个null

    查看全部
  • 给表中所有字段插入值:

    INSERT 表明 VALUES();

    给部分字段插入值:

    INSERT 表明(字段名1,字段名2)values(value1,value2);

    查询表:

    SELECT * FROM 表名;


    查看全部
  • 数据的记录操作:

    增:INSERT

    更:UPDATE

    删:DELETE

    查:SELECT

    1.插入记录:

    INSERT [INTO] tb1_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFUALT},...),(...),...

    注意:如果col_name被省略,意味着所有的列都要依次被赋值,不可以省略;

    对于默认编号(AUTO_INCREMENT)的字段,使用NULL/DEFUALT进行插入;

    而且插入的记录是识别算术,函数和字符表达式的

    (2)INSERT [INTO]  tb1_name SET col1_name={expr | DEFAULT}, ...

    如:INSERT users2 SET username='***',password='****';

    说明与第一种不同之处在于:此方法可以使用子查询(SubQuery)

    (3)INSERT [INTO] tb1_name [(col_name, ...)] SELECT ...

    此方法可以讲查询结果插入到指定数据表中


    2.单表更新(当插入时,记录有错误或更改字段值):

    UPDATE [LOW_PRIORITY] [IGNORE] table-reference SET col_name={expr1| DEFUALT}, [col_name2={expr | DEFUALT}]...[WHERE where
    _condition]

    如果省略where条件的话就是所有条件都将更新:如UPDATE users SET age=age+id,sex=0; 然后select * FROM users查看结果。

    或者:UPDATE users SET age=age+10,WHERE id % 2 = 0;

    可看见:1.更新多条记录; 2. 也可用来修改命令。


    3.删除记录:

    单表删除:

    DELETE FROM tb1_name [WHERE where_condition]

    如:删除第六条记录:DELETE FROM users WHERE id = 6; 而后再添加记录:INSERT users VALUE(NULL,'111','222',33,NULL); 那么该条记录不会填充到第六条,而是以顺序填到最后一个

    条件表达式
    对记录进行过滤,如果没有指定WHERE子句,则显示所有记录。
    在WHERE表达式中,可以使用MySQL支持的函数或运算符。


    4.查找记录
    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}]

    ]

    SELECT后面可以省略:如SELECT VERSION();/SELECT NOW();/SELECT 3+5;/SELECT id,username FROM users;/SELECT username,id FROM users;

    所以查询顺序影响结果的输出顺序!!!

    *表示所有的列

    可以在查询的列前面加上表名+.  如:SELECT users.id,user2.password FROM users;

    当列名称复杂时可以用别名:如 SELECT users.id AS usersid, users.username AS uname FROM users;(注意一下AS)

    所以查询的别名也影响输出结果的列名!!!

    查询结果分组:[GROUP BY {col_name | position} [ASC | DESC], ... ]

    ASC  升序;DESC  降序;

    如:SELECT sex FROM users GROUP BY sex/"位置"; 查看性别的分组结果。(一般指定名称就行)


    在GROUP BY 进行分组的时候,还可以进行设置分组条件:[HAVING where_condition]

    如:SELECT sex FROM users GROUP BY 1 HAVING age > 35; 这个语句错误,原因是sex里面没有age,所以更正为:SELECT sex,age FROM users GROUP BY 1 HAVING age > 35;或者采用聚合函数(max,min,sum等)  如 SELECT sex FROM users GROUP BY 1 HAVING count(id)>=2;


    还可以对查询分组的结果进行排序:

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

    如:SELECT * FROM users ORDER BY id  age DESC; 默认是升序。

    除了返回记录的排序还可以对记录进行限制查询结果的数量:

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

    如:SELECT * FROM users LIMIT 2; 返回两条记录;

    SELECT * FROM users LIMIT 2,2;返回的是偏移值(索引号)为2的记录开始的两条记录(不管升序还是降序,第一条记录的索引号都是0);

    插入记录:
    INSERT [INTO] tbl_name SET col_name={expr | DEFAULT),...
    说明:与第一种方式的区别在于,此方法可以使用子查询(SubQuery)(他可以将查找的数据插入到指定数据表)

    如:INSERT test(username) SELECT username FROM users WHERE age >= 30; 查找username表里的age>=30的username,插入到test表中的username列————综合一点的


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

    2019-03-10

  • 查询指定语句



    查看全部
  • 创建主键

    create table if not exists t2 (

        -> id smallint unsigned auto_increment primary key,

        -> username varchar(20) not null

        -> )


    查看全部
  • insert tb1 values('logo',20,333.22); 默认给全部字段赋值

    insert tb1(username,age) values('logo',20); 指定赋值的字段

    查看全部
  • 查看数据表的结构

    show columns from tb1;

    查看全部

举报

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

微信扫码,参与3人拼团

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

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