美文网首页我爱编程
MySQL数据操作语句

MySQL数据操作语句

作者: LannisterWF | 来源:发表于2018-08-03 19:15 被阅读0次

    MySQL的数据操作语句包括增删改查四种,insert,delete,update,select,其中select最为重要也最为复杂。MySQL对关键字不区分大小写,一个词用大写或小写都行。

    1. insert

    语法格式

    CREATE TABLE IF NOT EXISTS tasks (

        task_id INT(11) AUTO_INCREMENT,

        subject VARCHAR(45) DEFAULT NULL,

        start_date DATE DEFAULT NULL,

        end_date DATE DEFAULT NULL,

        description VARCHAR(200) DEFAULT NULL,

        PRIMARY KEY (task_id)

    )ENGINE=InnoDB DEFAULT CHARSET=utf8;

    插入单行

    INSERT INTO tasks(subject,start_date,end_date,description) VALUES('Learn MySQL INSERT','2018-08-02','2018-08-03','Start learning..');

    插入多行

    insert into tasks(subject,start_date,end_date,description)

    VALUES('hadoop','2018-07-02','2018-07-22','difficult'),

    ('hdfs','2018-07-02','2018-07-22','difficult'),

    ('mapreduce','2018-07-02','2018-07-22','difficult');

    不必为自动递增列(例如taskid列)指定值,因为MySQL会自动为自动递增列生成值。

    具有SELECT子句的MySQL INSERT

    CREATE TABLE tasks_bak LIKE tasks;

    INSERT INTO tasks_bak SELECT * FROM tasks;

    2.update

    UPDATE语句来更新表中的现有数据。也可以使用UPDATE语句来更改表中单个行,一组行或所有行的列值。

    UPDATE [LOW_PRIORITY] [IGNORE] table_name

    SET

        column_name1 = expr1,

        column_name2 = expr2,

        ...

    WHERE

        condition;

    更新单列,将名叫LISA的人的最后更新时间改为现在

    update actor set last_update='2018-08-02 15:06:06' where first_name='LISA';

    更新多列,将id号为7的人改名叫LANNISTER,时间改为现在

    update actor set first_name='LANNISTER',last_update='2018-08-02 15:13:13' where actor_id='7';

    可以使用SELECT语句查询来自其他表的数据来提供给SET子句的值

    3.delete

    要删除表中的所有行,而不需要知道删除了多少行,那么应该使用TRUNCATE TABLE语句来获得更好的执行性能。

    DELETE FROM table_name

    WHERE condition;

    删除某一行

    delete from tasks where subject='hadoop';

    删除表中全部行

    delete from tasks;

    排序后删除前十行,一次顺序删除多行一定要和order by连用

    delete from actor order by actor_id limit 10;

    4.select

    select查询语句

    SELECT语句由以下列表中所述的几个子句组成:

    SELECT之后是逗号分隔列或星号(*)的列表,表示要返回所有列。

    FROM指定要查询数据的表或视图。

    JOIN根据某些连接条件从其他表中获取数据。

    WHERE过滤结果集中的行。

    GROUP BY将一组行组合成小分组,并对每个小分组应用聚合函数。

    HAVING过滤器基于GROUP BY子句定义的小分组。

    ORDER BY指定用于排序的列的列表。

    LIMIT限制返回行的数量。

    语句中的SELECT和FROM语句是必须的,其他部分是可选的。

    SELECT

        column_1, column_2, ...

    FROM

        table_1

    [INNER | LEFT |RIGHT] JOIN table_2 ON conditions

    WHERE

        conditions

    GROUP BY column_1

    HAVING group_conditions

    ORDER BY column_1

    LIMIT offset, length;

    select actor_id,first_name,last_name from actor where last_name='MARY' or actor_id='180';

    select actor_id,first_name,last_name from actor where actor_id>100;

    下表列出了可用于在WHERE子句中形成过滤表达式的比较运算符。

    操作符 描述

    = 等于,几乎任何数据类型都可以使用它。

    <> 或 != 不等于

    < 小于,通常使用数字和日期/时间数据类型。

    > 大于,

    <= 小于或等于

    >= 大于或等于

    还有一些有用的运算符可以在WHERE子句中使用来形成复杂的条件,例如:

    BETWEEN选择在给定范围值内的值。

    LIKE匹配基于模式匹配的值。

    IN指定值是否匹配列表中的任何值。

    IS NULL检查该值是否为NULL。

    相关文章

      网友评论

        本文标题:MySQL数据操作语句

        本文链接:https://www.haomeiwen.com/subject/wtcuvftx.html