zoukankan      html  css  js  c++  java
  • MySQL 记录操作(四)

    语法结构:

    # 使用 INSERT 插入记录的语法结构
    INSERT [INTO] tbl_name [(col_namem,...)] {VALUES | VALUE} ({expr | DEFAULT},..),(...),...
    # 可以同时插入多条记录,省略列名时需要给所有列赋值, 也可以插入表达式
    # 主键 id 可以写 DEFAULT 或 NULL(使用自动编号递增)
    

    示例:

    # 创建一个数据表 tb7
    mysql> CREATE TABLE tb7(
        -> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
        -> username VARCHAR(20) NOT NULL,
        -> password VARCHAR(32) NOT NULL,
        -> age TINYINT UNSIGNED NOT NULL DEFAULT 10,
        -> sex BOOLEAN
        -> );
    Query OK, 0 rows affected (0.09 sec)
    
    # 同时插入2条记录,中间以逗号分隔
    mysql> INSERT tb7 VALUES(NULL,'Alice','123',25,1),(NULL,'Tom','456',26,1);
    Query OK, 1 row affected (0.02 sec)
    
    # 查看插入记录
    mysql> SELECT * FROM tb7;
    +----+----------+----------+-----+------+
    | id | username | password | age | sex  |
    +----+----------+----------+-----+------+
    |  1 | Alice    | 123      |  25 |    1 |
    |  2 | Tom      | 456      |  26 |    1 |
    +----+----------+----------+-----+------+
    2 rows in set (0.00 sec)
    
    # 主键也可以写成 DEFAULT ,也可以插入表达式,函数(md5('123'))
    mysql> INSERT tb7 VALUES(DEFAULT,'Bob','567',3*7-5,1),(NULL,'Rose',md5('123'),DEFAULT,1);
    Query OK, 2 rows affected (0.01 sec)
    Records: 2  Duplicates: 0  Warnings: 0
    
    # 查看插入记录
    mysql> SELECT * FROM tb7;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  25 |    1 |
    |  2 | Tom      | 456                              |  26 |    1 |
    |  3 | Bob      | 567                              |  16 |    1 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  10 |    1 |
    +----+----------+----------------------------------+-----+------+
    4 rows in set (0.00 sec)
    

    4、操作数据表中的记录

    4.1、插入记录的三种方法

    4.1.1、 INSERT 语句

    INSERT 方法是最常用的方法,可以一次插入多条记录

    4.1.2、INSERT SET/SELECT 语句

    与第一种插入方式区别在于,此方法可以使用子查询(SubQuery),而且只能一次插入一条记录。

    语法结构:

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

    示例:

    # 使用 INSERT SET 语句插入记录,age 有默认值,sex 可为空都可以省略
    mysql> INSERT tb7 SET username='Ben',password='456';
    Query OK, 1 row affected (0.02 sec)
    
    # 查看数据表
    mysql> SELECT * FROM tb7;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  25 |    1 |
    |  2 | Tom      | 456                              |  26 |    1 |
    |  3 | Bob      | 567                              |  16 |    1 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  10 |    1 |
    |  5 | Ben      | 456                              |  10 | NULL |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.00 sec)
    

    4.1.3、INSERT SELECT 语句

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

    语法结构:

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

    4.2、操作单个数据表中的记录

    4.2.1、更新单表记录(UPDATE)

    语法结构:

    # 如果省略 where 条件,那么所有的记录都将会被更新
    UPDATE [LOW_PRIORITY] [INGORE] table_reference SET col_name1={expr1 | DEFAULT} [,col_name2={expr2 | DEFAULT}]...[WHERE where_condition]
    
    # 更新某一行中的某一列
    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
    
    # 更新某一行中的若干列
    UPDATE 表名称 SET 列名称 = 新值, 列名称 = 新值 WHERE 列名称 = 某值
    
    # 更新多条记录的不同值(批量更新)
    mysql> UPDATE tdb_goods   # 更新 tdb_goods 数据表
        -> SET goods_name = CASE goods_id   # 更新列 goods_name的多个字段
        -> WHEN 1 THEN 'R510VC 15.6英寸笔记本'  # 当 goods_id 为 1,则 goods_name 为 'R510VC 15.6英寸笔记本'
        -> WHEN 2 THEN '商务双肩背包'   # 当 goods_id 为 2,则 goods_name 为'商务双肩背包'
        -> END
        -> WHERE goods_id IN (1,2)
        -> ;
    Query OK, 2 row affected (0.02 sec)
    Rows matched: 2  Changed: 2  Warnings: 0
    
    

    示例1:将 age 全部加 5

    # 省略 where 条件,将年龄全部加 5 岁
    mysql> UPDATE tb7 SET age=age+5;
    Query OK, 5 rows affected (0.01 sec)
    Rows matched: 5  Changed: 5  Warnings: 0
    
    # 查看数据表 发现所有记录的年龄都在原有基础上加了 5 岁
    mysql> SELECT * FROM tb7;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  30 |    1 |
    |  2 | Tom      | 456                              |  31 |    1 |
    |  3 | Bob      | 567                              |  21 |    1 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  15 |    1 |
    |  5 | Ben      | 456                              |  15 | NULL |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.00 sec)
    

    示例2:将每条记录的 age 列,在原有的基础上减去其对应的 idsex 设置为 0

    # 将每条记录的 age 列,在原有的基础上减去其对应的 id,sex 设置为 0
    mysql> UPDATE tb7 SET age = age - id,sex = 0;
    Query OK, 5 rows affected (0.01 sec)
    Rows matched: 5  Changed: 5  Warnings: 0
    
    # 查看数据表
    mysql> SELECT * FROM tb7;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  29 |    0 |
    |  2 | Tom      | 456                              |  29 |    0 |
    |  3 | Bob      | 567                              |  18 |    0 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  11 |    0 |
    |  5 | Ben      | 456                              |  10 |    0 |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.00 sec)
    

    示例3:设置 WHERE 条件,将所有 id 为偶数的记录 年龄加 10

    # 设置 WHERE 条件,id 为偶数的记录加 10
    mysql> UPDATE tb7 SET age = age + 10 WHERE id % 2 = 0;
    Query OK, 2 rows affected (0.01 sec)
    Rows matched: 2  Changed: 2  Warnings: 0
    
    # 查看数据表
    mysql> SELECT * FROM tb7;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  29 |    0 |
    |  2 | Tom      | 456                              |  39 |    0 |
    |  3 | Bob      | 567                              |  18 |    0 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  21 |    0 |
    |  5 | Ben      | 456                              |  10 |    0 |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.00 sec)
    

    4.2.2、删除单表记录(DELETE)

    语法结构:

    DELETE FROM tbl_name [WHERE where_condition]
    

    示例:

    # 将第 5 条记录删除掉
    mysql> DELETE FROM tb7 WHERE id = 5;
    Query OK, 1 row affected (0.00 sec)
    
    # 查看数据表,发现 id 为 5 的记录被删除了
    mysql> SELECT * FROM tb7;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  29 |    0 |
    |  2 | Tom      | 456                              |  39 |    0 |
    |  3 | Bob      | 567                              |  18 |    0 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  21 |    0 |
    +----+----------+----------------------------------+-----+------+
    4 rows in set (0.00 sec)
    
    # 重新插入一条记录,其id 会一直往上增长,而不是补充被删除的记录 id
    mysql> INSERT tb7 VALUES(NULL,'Lila','abcd',DEFAULT,1);
    Query OK, 1 row affected (0.01 sec)
    
    # 查看数据表
    mysql> SELECT * FROM tb7;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  29 |    0 |
    |  2 | Tom      | 456                              |  39 |    0 |
    |  3 | Bob      | 567                              |  18 |    0 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  21 |    0 |
    |  6 | Lila     | abcd                             |  10 |    1 |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.00 sec)
    

    4.2.3、查找表达式解析(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}]
    ]
    

    查询表达式:

    • 每一个表达式表示想要的一列,必须有至少一个
    mysql> SELECT 3 + 5;
    +-------+
    | 3 + 5 |
    +-------+
    |     8 |
    +-------+
    1 row in set (0.00 sec)
    
    • 多个列之间以英文逗号分隔,列名的顺序影响显示结果的顺序
    # 可以只查询单列(需要指定列名),也可以查询多列,以逗号分隔
    SHOW COLUMNS FROM tbl_name;    # 不知道列名,可以先查看列名
    SELECT id,username FROM tb7;   # 查询 id、username 列
    SELECT * FROM tb7;             # * 表示查询所有列
    
    • 星号(*)表示所有列,(tbl_name.*) 可以表示命名表的所有列
    # 以数据表名.列名 的形式查询适用于多个数据表连接的时候,因为多个数据表间有可能有相同字段
    SELECT tb7.id,tb7.username FROM tb7
    
    • 查询表达式可以使用 [ AS ] alias_name 为其赋予别名
    # 在查询表达式时可以给列名指定别名(当列名比较长的时候,尤其适用)
    mysql> SELECT id AS userid,username AS un FROM tb7;
    +--------+-------+
    | userid | un    |
    +--------+-------+
    |      1 | Alice |
    |      2 | Tom   |
    |      3 | Bob   |
    |      4 | Rose  |
    |      6 | Lila  |
    +--------+-------+
    5 rows in set (0.00 sec)
    
    • 别名可用于 GROUP BY ,ORDRE BYHAVING 字句

    4.2.4、WHERE 语句进行条件查询

    条件表达式:

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

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

    4.3、mysql group by 语句对查询结果分组

    语法结构:

    # 对查询结果分组  ASC 为升序(默认),DESC 为降序
    [GROUP BY {col_name | position} [ASC | DESC],...]
    

    示例:

    # 查看数据表
    mysql> SELECT * FROM tb7;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  29 |    0 |
    |  2 | Tom      | 456                              |  39 |    0 |
    |  3 | Bob      | 567                              |  18 |    0 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  21 |    0 |
    |  6 | Lila     | abcd                             |  10 |    1 |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.00 sec)
    
    # 选择将数据表 tb7 中的 sex 列分组(分为 0 和 1 两组),也可以指定位置(即 id )
    mysql> SELECT sex FROM tb7 GROUP BY sex;
    +------+
    | sex  |
    +------+
    |    0 |
    |    1 |
    +------+
    2 rows in set (0.01 sec)
    

    4.4、having 语句设置分组条件

    HAVING字句中,查询对象必须出现在查询表达式中或使用聚合函数

    分组条件:

    SELECT column_name, aggregate_function(column_name)  # 聚合函数
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name
    HAVING aggregate_function(column_name) operator value
    

    示例1:

    # 查看数据表
    SELECT * FROM tb7 ;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  29 |    0 |
    |  2 | Tom      | 456                              |  39 |    0 |
    |  3 | Bob      | 567                              |  18 |    0 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  21 |    0 |
    |  6 | Lila     | abcd                             |  10 |    1 |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.01 sec)
    
    # 使用 HAVING 语句设置分组条件(需要注意的是在HAVING字句中,查询对象必须出现在查询表达式中或使用聚合函数)
    mysql> SELECT sex,age FROM tb7 GROUP BY 1 HAVING age >= 35;
    Empty set (0.00 sec)
    
    # 聚合函数(count(id)), 条件为sex 列中,id次数大于等于2的有哪些
    mysql> SELECT sex FROM tb7 GROUP BY 1 HAVING count(id) >= 2;
    +------+
    | sex  |
    +------+
    |    0 |
    +------+
    1 row in set (0.00 sec)
    
    # 聚合函数(count(id)),条件为sex 列中,id次数大于等于1的有哪些
    mysql> SELECT sex FROM tb7 GROUP BY 1 HAVING count(id) >= 1;
    +------+
    | sex  |
    +------+
    |    0 |
    |    1 |
    +------+
    2 rows in set (0.00 sec)
    

    示例2:

    # 查看数据表
    mysql> select * from tb7;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  29 |    0 |
    |  2 | Tom      | 456                              |  39 |    0 |
    |  3 | Bob      | 567                              |  18 |    0 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  21 |    0 |
    |  6 | Lila     | abcd                             |  10 |    1 |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.00 sec)
    
    # 设置条件(age 小于 28)的用户
    mysql> select username,age from tb7 group by username having age < 28;
    +----------+-----+
    | username | age |
    +----------+-----+
    | Bob      |  18 |
    | Lila     |  10 |
    | Rose     |  21 |
    +----------+-----+
    3 rows in set (0.01 sec)
    
    # 设置条件(Bob 和 Tom 中哪个年龄大于 20)
    mysql> select username,age from tb7 where username='Bob' or username='Tom' group by username having age > 20;
    +----------+-----+
    | username | age |
    +----------+-----+
    | Tom      |  39 |
    +----------+-----+
    1 row in set (0.00 sec)
    

    4.5、order by 对查询结果进行排序

    对于需要排序的列中有相同的记录,则按照其 id 对其进行升序降序,也可以同时升序降序

    SELECT * FROM tb7 ORDER BY age,id DESC;
    
    # 默认对查询结果进行升序排列(ASC,可省略不写),若要降序则加上 DESC 关键字即可
    [ORDER BY {col_name | expr | position} [ASC | DESC],...]
    

    示例1:

    # 查看数据表结构
    mysql> SELECT * FROM tb7;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  29 |    0 |
    |  2 | Tom      | 456                              |  39 |    0 |
    |  3 | Bob      | 567                              |  18 |    0 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  21 |    0 |
    |  6 | Lila     | abcd                             |  10 |    1 |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.04 sec)
    
    # 对 id 列进行降序排列
    mysql> SELECT * FROM tb7 ORDER BY id DESC;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  6 | Lila     | abcd                             |  10 |    1 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  21 |    0 |
    |  3 | Bob      | 567                              |  18 |    0 |
    |  2 | Tom      | 456                              |  39 |    0 |
    |  1 | Alice    | 123                              |  29 |    0 |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.00 sec)
    
    # 对 age 列进行升序排列
    mysql> SELECT * FROM tb7 ORDER BY age;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  6 | Lila     | abcd                             |  10 |    1 |
    |  3 | Bob      | 567                              |  18 |    0 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  21 |    0 |
    |  1 | Alice    | 123                              |  29 |    0 |
    |  2 | Tom      | 456                              |  39 |    0 |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.01 sec)
    

    示例2:

    # 数据表 tb8
    mysql> SELECT * FROM tb8;
    +----+----------+-------------+
    | id | company  | ordernumber |
    +----+----------+-------------+
    |  1 | IBM      |        3532 |
    |  2 | W3School |        2356 |
    |  3 | Aplle    |        4698 |
    |  4 | W3School |        6953 |
    +----+----------+-------------+
    4 rows in set (0.00 sec)
    
    # 对company 进行升序
    mysql> SELECT company, ordernumber FROM tb8 ORDER BY company;
    +----------+-------------+
    | company  | ordernumber |
    +----------+-------------+
    | Aplle    |        4698 |
    | IBM      |        3532 |
    | W3School |        2356 |
    | W3School |        6953 |
    +----------+-------------+
    4 rows in set (0.00 sec)
    
    # 对company升序,ordernumber降序
    mysql> SELECT company, ordernumber from tb8 order by company,ordernumber desc;
    +----------+-------------+
    | company  | ordernumber |
    +----------+-------------+
    | Aplle    |        4698 |
    | IBM      |        3532 |
    | W3School |        6953 |
    | W3School |        2356 |
    +----------+-------------+
    4 rows in set (0.00 sec)
    

    4.6、limit 语句限制查询数量

    # limit 语句有2个参数(偏移量,结果出现的条数),需要注意的是记录是从 0 开始的,意味着第三条记录就是第二条,默认出现条数为1
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    

    示例:

    # 数据表 tb8 的结构
    mysql> SELECT * FROM tb8;
    +----+----------+-------------+
    | id | company  | ordernumber |
    +----+----------+-------------+
    |  1 | IBM      |        3532 |
    |  2 | W3School |        2356 |
    |  3 | Aplle    |        4698 |
    |  4 | W3School |        6953 |
    +----+----------+-------------+
    4 rows in set (0.00 sec)
    
    # 只有一个参数时,指的是出现的条数,默认从第一个记录开始
    mysql> SELECT * FROM tb8 LIMIT 1;
    +----+---------+-------------+
    | id | company | ordernumber |
    +----+---------+-------------+
    |  1 | IBM     |        3532 |
    +----+---------+-------------+
    1 row in set (0.00 sec)
    
    # 2 条记录
    mysql> SELECT * FROM tb8 LIMIT 2;
    +----+----------+-------------+
    | id | company  | ordernumber |
    +----+----------+-------------+
    |  1 | IBM      |        3532 |
    |  2 | W3School |        2356 |
    +----+----------+-------------+
    2 rows in set (0.00 sec)
    
    # 2 个参数时,第一个参数为偏移量(即第几条记录,这里为2,即第三条记录),第二个参数为条数
    mysql> SELECT * FROM tb8 LIMIT 2,2;
    +----+----------+-------------+
    | id | company  | ordernumber |
    +----+----------+-------------+
    |  3 | Aplle    |        4698 |
    |  4 | W3School |        6953 |
    +----+----------+-------------+
    2 rows in set (0.00 sec)
    

    示例2:

    # 限制查询出现的记录与 id 号无关,只与第几条有关
    # 对 id 进行降序排列
    mysql> SELECT * FROM tb8 ORDER BY id DESC;
    +----+----------+-------------+
    | id | company  | ordernumber |
    +----+----------+-------------+
    |  4 | W3School |        6953 |
    |  3 | Aplle    |        4698 |
    |  2 | W3School |        2356 |
    |  1 | IBM      |        3532 |
    +----+----------+-------------+
    4 rows in set (0.00 sec)
    
    # 现在出现的 2 条 id 号为 2、1,与 id 无关
    mysql> SELECT * FROM tb8 ORDER BY id DESC LIMIT 2,2;
    +----+----------+-------------+
    | id | company  | ordernumber |
    +----+----------+-------------+
    |  2 | W3School |        2356 |
    |  1 | IBM      |        3532 |
    +----+----------+-------------+
    2 rows in set (0.00 sec)
    

    4.7、使用 insert 语句将一个数据表的记录插入到另一个数据表中

    偏移量 = (当前页码 - 1)* 每页所显示的记录数

    # 数据表 tb7
    mysql> select * from tb7;
    +----+----------+----------------------------------+-----+------+
    | id | username | password                         | age | sex  |
    +----+----------+----------------------------------+-----+------+
    |  1 | Alice    | 123                              |  29 |    0 |
    |  2 | Tom      | 456                              |  39 |    0 |
    |  3 | Bob      | 567                              |  18 |    0 |
    |  4 | Rose     | 202cb962ac59075b964b07152d234b70 |  21 |    0 |
    |  6 | Lila     | abcd                             |  10 |    1 |
    +----+----------+----------------------------------+-----+------+
    5 rows in set (0.00 sec)
    
    # tb9 中只有 id 和 username列,没有插入任何记录
    mysql> SHOW COLUMNS FROM tb9;
    +----------+---------------------+------+-----+---------+----------------+
    | Field    | Type                | Null | Key | Default | Extra          |
    +----------+---------------------+------+-----+---------+----------------+
    | id       | tinyint(3) unsigned | NO   | PRI | NULL    | auto_increment |
    | username | varchar(20)         | YES  |     | NULL    |                |
    +----------+---------------------+------+-----+---------+----------------+
    2 rows in set (0.00 sec)
    
    # 插入到数据表 tb9的 username列中,从 tb7 的 username中 挑选 age 大于等于 29的记录
    mysql> INSERT tb9(username) SELECT username FROM tb7 WHERE age >= 29;
    Query OK, 2 rows affected (0.01 sec)
    Records: 2  Duplicates: 0  Warnings: 0
    
    # 查看数据表 tb9
    mysql> SELECT * FROM tb9;
    +----+----------+
    | id | username |
    +----+----------+
    |  1 | Alice    |
    |  2 | Tom      |
    +----+----------+
    2 rows in set (0.00 sec)
    

    4.8、小结

    增删改查

  • 相关阅读:
    杂七杂八的文档资料。
    图片(img标签)的onerror事件
    html的a标签的 href 和 onclick。
    【mysql】一次有意思的数据库查询分析。
    书籍:Building Secure PHP Apps
    js关闭当前页面/关闭当前窗口
    【汉字乱码】IE下GET形式传递汉字。
    弹出层展示插件。
    原型图设计工具。
    LeetCode(24): 两两交换链表中的节点
  • 原文地址:https://www.cnblogs.com/midworld/p/13617373.html
Copyright © 2011-2022 走看看