zoukankan      html  css  js  c++  java
  • MySQL 5.操作表中的数据

    创建数据库并使用,创建数据表

     1 # 创建数据库并使用数据库
     2 CREATE DATABASE gzcsql;
     3 USE gzcsql;
     4 # 创建数据表
     5 CREATE TABLE table1(
     6 id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
     7 name VARCHAR(20) NOT NULL,
     8 password VARCHAR(32) NOT NULL,
     9 age TINYINT UNSIGNED NOT NULL DEFAULT 10,
    10 sex BOOLEAN
    11 );

    插入表记录(1):

    Demo:此种方法在写值时支持算数

    1 # 若未标明要插入哪几列的话则需全部插入,主键可使用DEFAULT或NULL让其使用默认自增的值,标记了默认值的也可使用DEFAULT表示使用默认值
    2 INSERT table1 VALUES(NULL,'Tom','123',DEFAULT,1);

    一次性插入多条记录,多条记录间用逗号隔开:

    1 INSERT table1 VALUES(DEFAULT,'XiaoMing','456',DEFAULT,1),(NULL,'XiaoGuo','666',21,1);

    插入表记录(2):

    Demo:此种方法与第一种方法的区别是此方法可以使用子查询,且只能一次插入一条记录

    1 INSERT table1 SET name='XiaoHong',password='999',age=21,sex=1;

    插入表记录(3):

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

    1 INSERT table1(username) SELECT table2.name FROM table2;

    更新列记录(单表更新)、(省略WHERE条件):

    1 UPDATE table1 SET age = age+5, sex=0;

    带条件更新自己想要的那一条记录(WHERE条件):

    1 UPDATE table1 SET name = gzc WHERE id=3;

    删除记录(单表删除):

    1 DELETE FROM table1 WHERE id=2;

    查询表达式

    • 每一个表达式表示想要的一列,必须有至少一个
    • 多个列之间以英文逗号分隔
    1 SELECT id,name,password FROM table1;
    • 查询表达式的顺序可以跟数据表中字段的顺序不一致。
    1 SELECT password,name FROM table1;
    • 表名.列名,如下例子,此种方式可以避免多表关联的情况下只查找某一数据表的数据
    1 SELECT table1.name,table1.password FROM table1;
    • 查询表达式可以使用 AS alias(别名)方式为某一列赋予别名,别名可用于 GROUP BY ,ORDER BY或者HAVING字句中,其查询结果显示的是别名而非原数据表中的列名
    1 SELECT id AS userId ,name AS uname FROM table1;

    PS:SELECT 语句字段出现的顺序将影响结果集出现的顺序,字段的别名将影响结果集中字段的别名(PHP中在别的编程语言中不清楚)


    WHERE条件:

    条件表达式:

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

    GROUP BY分组:

    查询结果分组:

    1 SELECT table1.name , table1.password, table1.sex FROM table1 GROUP BY sex;

    HAVING设置分组的条件:

    HAVING后面要是聚合函数(如求和、求最大值、最小值平均值等等 )或者该字段出现在当前的SELECT 语句当中

    1 SELECT table1.name, table1.password ,table1.sexFROM table1 GROUP BY sex HAVING sex>10;

    ORDER BY排序:

    对查询结果的某一个字段进行排序

    默认的升序:

    1 SELECT table1.name ,table1.password, table1.age FROM table1 ORDER BY age;

    DESC降序:

    1 SELECT table1.name, table1.password,table1.age FROM table1 ORDER BY id DESC;

    LIMIT

    限制查询结果返回的数量

    默认从第一条(索引从0开始)开始,返回2条:

    1 SELECT * FROM table1 LIMIT 2;

    默认从第3条(第一条的索引为0)开始,返回3条:

    1 SELECT * FROM table1 LIMIT 2,3;

    INSERT 和 SELECT 配合使用:

    将查找的结果存储到指定的数据表

    1 # 创建一个新表
    2 CREATE TABLE test(
    3 id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    4 username VARCHAR(20) NOT NULL
    5 );
    6 # 将一张数据表中的数据查询结果存储到创建的新表中
    7 INSERT test(username) SELECT talbe1.name FROM table1;
    View Code
  • 相关阅读:
    POJ 1797 Heavy Transportation
    POJ 2253 Frogger
    POJ 2387 Til the Cows Come Home
    HDU 1233 还是畅通工程
    POJ 1287 Networking
    标准C程序设计七---63
    标准C程序设计七---62
    标准C程序设计七---61
    标准C程序设计七---60
    标准C程序设计七---57
  • 原文地址:https://www.cnblogs.com/gzc911/p/4944694.html
Copyright © 2011-2022 走看看