精华内容
下载资源
问答
  • Mysql的增删改查语句简单实现增加记录: insert into tablename(...) values(...)//如果增加的记录包括所有的列,则不需要写数据列表insert into tablename values(...)删除记录: delete from tablename where ...

    Mysql的增删改查语句简单实现

    增加记录: insert into tablename(...) values(...)

    //如果增加的记录包括所有的列,则不需要写数据列表

    insert into tablename values(...)

    删除记录: delete from tablename where condition ;

    修改记录: update tablename set xx=xx , xx=xx... where condition ;

    alter table tablename set xx=xx , xx=xx... where condition ;

    查询记录: select (...) from tablename where condition ;

    select * from tablename where condition ;

    删除整个表: drop table tablename ;

    添加列: alter table tablename add column columnname columntype ... ;

    删除列: alter table tablename drop column columnname ;

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    展开全文
  • 主要介绍了Mysql的增删改查语句简单实现的相关资料,需要的朋友可以参考下
  • MySQL的增删改查语句总结添加数据 格式:insert into 表名[(字段列表)] values(值列表...); 注:[]中为可省略的数据-- 标准添加(指定所有字段,给定所有的值) insert into stu(id,name,age,sex,classid) values(1,...

    MySQL的增删改查语句总结

    添加数据

    格式:insert into 表名[(字段列表)] values(值列表...); 注:[]中为可省略的数据
    -- 标准添加(指定所有字段,给定所有的值)
    insert into stu(id,name,age,sex,classid) values(1,'zhangsan',20,'男','1');
    
    -- 指定部分字段添加值
    insert into stu(name,classid) values('yyx','1');
    
    -- 不指定字段添加值
    insert into stu values(null,'lj','20','男','2');
    
    -- 批量添加值
    insert into stu values
    (null,'zhaoliu',25,'女','1'),
    (null,'uu01',26,'男','2'),
    (null,'uu02',28,'男','1'),
    (null,'qq02',24,'男','2'),
    (null,'uu03',32,'女','1'),
    (null,'qq03',23,'女','2'),
    (null,'aa',19,'男','1');

    修改数据

    格式:update 表名 set 字段1=值1,字段值2=值2,字段n=值n ...where 条件
    -- 将id为2的age改为22,sex改为男
    update stu set age=22,sex='男' where id=2;
    
    -- 将id值为1-5的classid改为1,6-10的classid改为2
    update stu set classid=1 where id between 1 and 5;
    update stu set classid=2 where id between 6 and 10;

    删除数据

    格式:delete from 表名 [where 条件]
    -- 删除stu表中id值为11的数据
    delete from stu where id=11;
    
    -- 删除stu表中id值为12到17的数据
    delete from stu where id between 12 and 17;
    
    -- 删除stu表中id值大于10的数据
    delete from stu where id>10;

    查询语句

    语法格式:

    select 字段列表|*  from 表名
    [where 搜索条件]
    [group by 分组字段 [having 分组条件]]
    [order by 排序字段 排序规则]
    [limit 分页参数]

    基础查询

    # 查询表中所有列 所有数据
    select * from stu;
    
    # 指定字段列表进行查询
    select id,name,age,sex from stu;

    Where 条件查询

    • 可以在where子句中指定任何条件
    • 可以使用 and 或者 or 指定一个或多个条件
    • where条件也可以运用在update和delete语句的后面
    • where子句类似程序语言中if条件,根据mysql表中的字段值来进行数据的过滤

    示例:

    -- 查询stu表中 age > 22的数据
    select * from stu where age>22;
    
    -- 查询 stu 表中 name=某个条件值 的数据
    select * from stu where name='yyx';
    
    -- 查询 stu 表中 年龄在22到25之间的数据
    select * from stu where age between 22 and 25;
    select * from stu where age >= 22 and age<= 25;
    
    -- 查询 stu 表中 年龄不在22到25之间的数据
    select * from stu where age not between 22 and 25;
    
    -- 查询 stu 表中 年龄在22到25之间的女生信息
    select * from stu where age between 22 and 25 and sex='女';

    and和or 使用时注意 (and 优先级大于 or)

    假设要求 查询 users 表中 年龄为22或者25 的女生信息

    select * from users where age=22 or age = 25 and sex = '女';

    思考上面的语句能否返回符合条件的数据?

    实际查询结果并不符合要求?

    select * from users where age=22 or age = 25 and sex = '女';
    +------+--------+------+-------+-------+------+------+
    | id   | name   | age  | phone | email | sex  | mm   |
    +------+--------+------+-------+-------+------+------+
    |    1 | 章三   |   22 |       | NULL  |    |    0 |
    | 1002 | cc     |   25 | 123   | NULL  |    | NULL |
    +------+--------+------+-------+-------+------+------+
    2 rows in set (0.00 sec)
    
    -- 上面的查询结果并不符合 查询条件的要求。
    -- 问题出在 sql 计算的顺序上,sql会优先处理and条件,所以上面的sql语句就变成了
    -- 查询变成了为年龄22的不管性别,或者年龄为 25的女生
    
    -- 如何改造sql符合我们的查询条件呢?
    -- 使用小括号来关联相同的条件
    select * from users where (age=22 or age = 25) and sex = '女';
    +------+------+------+-------+-------+------+------+
    | id   | name | age  | phone | email | sex  | mm   |
    +------+------+------+-------+-------+------+------+
    | 1002 | cc   |   25 | 123   | NULL  |    | NULL |
    +------+------+------+-------+-------+------+------+
    1 row in set (0.00 sec)

    Like 子句

    我们可以在where条件中使用=,<,> 等符合进行条件的过滤,但是当想查询某个字段是否包含时如何过滤?
    可以使用like语句进行某个字段的模糊搜索,
    例如: 查询 name字段中包含五的数据
    -- like 语句  like某个确定的值 和。where name = '王五' 是一样
    select * from stu where name like 'yyx';
    
    -- 使用 % 模糊搜索。%代表任意个任意字符
        -- 查询name字段中包含x的
        select * from stu where name like '%x%';
        -- 查询name字段中最后一个字符 为 u的
        select * from stu where name like '%u';
        -- 查询name字段中第一个字符 为 q 的
        select * from stu where name like 'q%';
    -- 使用 _ 单个的下划线。表示一个任意字符,使用和%类似
        -- 查询表中 name 字段为两个字符的数据
        select * from users where name like '__';
    
        -- 查询 name 字段最后为j,的两个字符的数据
        select * from users where name like '_j';

    注意:where子句中的like在使用%或者_进行模糊搜索时,效率不高,使用时注意:

    • 尽可能的不去使用%或者_
    • 如果需要使用,也尽可能不要把通配符放在开头处

    Mysql中的统计函数(聚合函数)

    可以使用like语句进行某个字段的模糊搜索,

    例如: 查询 name字段中包含五的数据

    count(),max(),min(),sum(),avg()

    # 计算 users 表中 最大年龄,最小年龄,年龄和及平均年龄
    select max(age),min(age),sum(age),avg(age) from stu;
    -- 上面数据中的列都是在查询时使用的函数名,不方便阅读和后期的调用,可以通过别名方式 美化
    select max(age) as max_age,min(age) as min_age,
    sum(age) as sum_age,avg(age) as avg_age from stu;
    -- 统计 stu 表中的数据量
    select count(*) from stu;
    select count(id) from stu;
    -- 上面的两个统计,分别使用了 count(*) 和 count(id),结果目前都一样,有什么区别?
    -- count(*) 是按照 users表中所有的列进行数据的统计,只要其中一列上有数据,就可以计算
    -- count(id) 是按照指定的 id 字段进行统计,也可以使用别的字段进行统计,
    -- 但是注意,如果指定的列上出现了NULL值,那么为NULL的这个数据不会被统计
    -- 假设有下面这样的一张表需要统计
    +----+----------+-----+------+---------+
    | id | name     | age | sex  | classid |
    +----+----------+-----+------+---------+
    |  1 | zhangsan |  20 |    |       1 |
    |  2 | yyx      |  22 |    |       1 |
    |  3 | lj       |  20 |    |       1 |
    |  4 | zhaoliu  |  25 |    |       1 |
    |  5 | uu01     |  26 |    |       1 |
    |  6 | uu02     |  28 |    |       2 |
    |  7 | qq02     |  24 |    |       2 |
    |  8 | uu03     |  32 |    |       2 |
    |  9 | qq03     |  23 |    |       2 |
    | 10 | aa       |  19 |    |       2 |
    | 25 | bb       |  20 | NULL |       2 |
    +----+----------+-----+------+---------+
    
    -- 如果按照sex这一列进行统计,结果就是10个而不是11个,因为sex这一列中有NULL值存在
    select count(sex) from stu;
    +------------+
    | count(sex) |
    +------------+
    |         10 |
    +------------+

    聚合函数除了以上简单的使用以外,通常情况下都是配合着分组进行数据的统计和计算

    group by分组

    group by 语句根据一个或多个列对结果集进行分组
    一般情况下,是用与数据的统计或计算,配合聚合函数使用
    -- 统计 stu 表中 男女生人数,
    -- 很明显按照上面的需要,可以写出两个语句进行分别统计
    select count(*) from stu where sex='女';
    select count(*) from stu where sex='男';
    -- 可以使用分组进行统计,更方便
    select sex,count(*) from stu group by sex;
    +------+----------+
    | sex  | count(*) |
    +------+----------+
    | NULL |        1 |
    |    |        7 |
    |    |        3 |
    +------+----------+
    -- 统计1班和2班的人数
    select classid as '班级',count(*) from stu group by classid;
    +--------+----------+
    | 班级   | count(*) |
    +--------+----------+
    |      1 |        5 |
    |      2 |        6 |
    +--------+----------+
    -- 分别统计每个班级的男女生人数
    select classid,sex,count(*) from stu group by classid,sex;
    +---------+------+----------+
    | classid | sex  | count(*) |
    +---------+------+----------+
    |       1 |    |        4 |
    |       1 |    |        1 |
    |       2 | NULL |        1 |
    |       2 |    |        3 |
    |       2 |    |        2 |
    +---------+------+----------+
    # 注意,在使用。group by分组时,一般除了聚合函数,其它在select后面出现的字段列都需要出现在grouop by 后面

    having子句

    having时在分组聚合计算后,对结果再一次进行过滤,类似于where,
    where过滤的是行数据,having过滤的是分组数据
    -- 要统计班级人数
    select classid,count(*) from stu group by classid;
    
    -- 统计班级人数,并且要人数达到5人及以上
    select classid,count(*) as num from stu group by classid having num >=5;

    orded by

    ORDER BY 语句用于根据指定的列对结果集进行排序。ORDER BY 语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用 ASC(升序)、DESC(降序) 关键字。

    limit

    limit子句用于限制查询结果返回的数量,常用于分页查询
    # 查询10条数据,索引从0到9,第1条记录到第10条记录
    select * from t_user limit 10;
    select * from t_user limit 0,10;
    
    # 查询8条数据,索引从5到12,第6条记录到第13条记录
    select * from t_user limit 5,8;

    课后练习题

    -- 1. 统计班级 classid为2的男女生人数?
    select sex,count(*) where classid=2 group by sex;
    -- 2. 获取每个班级的 平均年龄,并按照平均年龄从大到小排序
    select classid,avg(age) as avg_age from stu group by classid order by avg_age desc;
    -- 3. 统计每个班级的人数,按照从大到小排序
    select classid,count(*) as '人数' from stu group by classid order by count(*) desc;
    -- 4. 获取班级人数最多的 班级id信息
    select classid,count(*) as '人数' from stu group by classid order by count(*) desc limit 1;

    总结:

    mysql中的查询语句比较灵活多样,所以需要多加练习,
    并且在使用查询语句时,一定要注意sql的正确性和顺序

    | 子句 | 说明 | 是否必须 | | -------- | -------------------------------- | ------------------ | | select | 要返回的列或表达式,字段列表| * | 是 | | from | 查询的数据表 | 需要在表中查询时 | | Where | 数据行的过滤 | 否 | | group by | 分组 | 仅在分组聚合计算时 | | having | 分组后的数据过滤 | 否 | | order by | 输出排序 | 否 | | limit | 要提取的结果行数 | 否 |

    展开全文
  • mysql的增删改查语句

    2018-06-12 20:23:00
    开启数据库: 1、开启服务:net start mysql  停止服务:net stop mysql ...数据库操作:增删改查 一、数据库: 1、show databases; //查看所有数据库,database要加复数s; 2、create database teacher ...

    开启数据库:

    1、开启服务:net start mysql

     

     停止服务:net stop mysql

    2、连接数据库:mysql -uroot(用户名) -p123456(密码)

     

    数据库操作:增删改查

    一、数据库:

    1、show databases; //查看所有数据库,database要加复数s;

    2、create database  teacher ;//创建数据库teacher;

    3、drop database teacher; //删除数据库teacher

     

    4、user teacher //切换数据库。要操作数据库要先选择使用一个数据库

     

    二、表操作:

    1、show tables; //查看所有的表,要加复数s

    2、create table tea (列一,列2,...); //创建表tea

    实例:create table tea (id int primary key auto_increment,username varchar(20),birthday date);

     

    3、drop table tea; //删除表tea

    4、desc tea //查看表结构

    5、show create table tea; 查看创建表tea所使用的语句

    6、rename table tea to teacher;//修改表名,将tea修改成teacher

     

    三、数据操作

    1、增加:

      1.1、单条数据添加

    insert into teacher (username,birthday) values('陈晓华','2001-9-18');

      多条数据添加

    insert into teacher(username,birthday) values('小军','2001-9-18'),('小花','2004-9-18');

      2、删除:

      2.1、delete from 表名 where 条件 ; 删除表内数据(后面不加where 条件,会将表内数据全部删除)

    实例:delete from teacher  where username='小军';

    3、修改:update 表名 set 列1=值1, 列2=值2,... where 条件 ; # 修改表内数据(警告:后面不加条件会将全部列都修改) 

    实例: update teacher set username='狄仁杰',birthday='2008-09-01' where username='小花';

    (注意,标点符号全部用英文字符)

    4、查:select * from 表名 ; // 查看某一个表里面的所有数据(这里的*代表所有的列, 如果只想查询部分列可用逗号分隔, 例select username,birthday from 表名;)

    四、条件查询:
    a.语法: select * from 表名 where 条件;
    b.比较运算符(=, >, <, >=, <=, !=):
    实例: select * from student where id>=3;
    c.逻辑运算符(and, or, not):
    实例: select * from student where id>=4652970 and sex=‘男’; 查询id>=4652970且性别为男的学生

     

    d.模糊查询: like: %表示任意多个任意字符、 _表示一个任意字符
    实例:  select * from student where user_name like "小%";得到结果小....

    实例: select * from student where name like "周_"; => 得到结果如周迅...
    e.范围查询: 实例: select * from student where id in (2,7,12); # 查询id为2,7,12的学生
    实例: select * from student where id between 5 and 10; # 查询id在5-10之间的学生
    f.空查询: 实例: select * from student where address is null; # 查询住址为空的学生(非空是not null)
    g.优先级: 小括号 > not > 比较运算符 > 逻辑运算符 ; and > or =>可用()来改变优先级
    h.排序: select * from 表名 order by 列1 asc/desc, 列2 asc/desc, ... ; # asc升序 desc降序

    转载于:https://www.cnblogs.com/guochangxin/p/9174904.html

    展开全文
  • MySQL的增删改查语句总结添加数据 格式:insert into 表名[(字段列表)] values(值列表...); 注:[]中为可省略的数据-- 标准添加(指定所有字段,给定所有的值) insert into stu(id,name,age,sex,classid) values(1,...

    MySQL的增删改查语句总结

    添加数据

    格式:insert into 表名[(字段列表)] values(值列表...); 注:[]中为可省略的数据
    -- 标准添加(指定所有字段,给定所有的值)
    insert into stu(id,name,age,sex,classid) values(1,'zhangsan',20,'男','1');
    
    -- 指定部分字段添加值
    insert into stu(name,classid) values('yyx','1');
    
    -- 不指定字段添加值
    insert into stu values(null,'lj','20','男','2');
    
    -- 批量添加值
    insert into stu values
    (null,'zhaoliu',25,'女','1'),
    (null,'uu01',26,'男','2'),
    (null,'uu02',28,'男','1'),
    (null,'qq02',24,'男','2'),
    (null,'uu03',32,'女','1'),
    (null,'qq03',23,'女','2'),
    (null,'aa',19,'男','1');

    修改数据

    格式:update 表名 set 字段1=值1,字段值2=值2,字段n=值n ...where 条件
    -- 将id为2的age改为22,sex改为男
    update stu set age=22,sex='男' where id=2;
    
    -- 将id值为1-5的classid改为1,6-10的classid改为2
    update stu set classid=1 where id between 1 and 5;
    update stu set classid=2 where id between 6 and 10;

    删除数据

    格式:delete from 表名 [where 条件]
    -- 删除stu表中id值为11的数据
    delete from stu where id=11;
    
    -- 删除stu表中id值为12到17的数据
    delete from stu where id between 12 and 17;
    
    -- 删除stu表中id值大于10的数据
    delete from stu where id>10;

    查询语句

    语法格式:

    select 字段列表|*  from 表名
    [where 搜索条件]
    [group by 分组字段 [having 分组条件]]
    [order by 排序字段 排序规则]
    [limit 分页参数]

    基础查询

    # 查询表中所有列 所有数据
    select * from stu;
    
    # 指定字段列表进行查询
    select id,name,age,sex from stu;

    Where 条件查询

    • 可以在where子句中指定任何条件
    • 可以使用 and 或者 or 指定一个或多个条件
    • where条件也可以运用在update和delete语句的后面
    • where子句类似程序语言中if条件,根据mysql表中的字段值来进行数据的过滤

    示例:

    -- 查询stu表中 age > 22的数据
    select * from stu where age>22;
    
    -- 查询 stu 表中 name=某个条件值 的数据
    select * from stu where name='yyx';
    
    -- 查询 stu 表中 年龄在22到25之间的数据
    select * from stu where age between 22 and 25;
    select * from stu where age >= 22 and age<= 25;
    
    -- 查询 stu 表中 年龄不在22到25之间的数据
    select * from stu where age not between 22 and 25;
    
    -- 查询 stu 表中 年龄在22到25之间的女生信息
    select * from stu where age between 22 and 25 and sex='女';

    and和or 使用时注意 (and 优先级大于 or)

    假设要求 查询 users 表中 年龄为22或者25 的女生信息

    select * from users where age=22 or age = 25 and sex = '女';

    思考上面的语句能否返回符合条件的数据?

    实际查询结果并不符合要求?

    select * from users where age=22 or age = 25 and sex = '女';
    +------+--------+------+-------+-------+------+------+
    | id   | name   | age  | phone | email | sex  | mm   |
    +------+--------+------+-------+-------+------+------+
    |    1 | 章三   |   22 |       | NULL  |    |    0 |
    | 1002 | cc     |   25 | 123   | NULL  |    | NULL |
    +------+--------+------+-------+-------+------+------+
    2 rows in set (0.00 sec)
    
    -- 上面的查询结果并不符合 查询条件的要求。
    -- 问题出在 sql 计算的顺序上,sql会优先处理and条件,所以上面的sql语句就变成了
    -- 查询变成了为年龄22的不管性别,或者年龄为 25的女生
    
    -- 如何改造sql符合我们的查询条件呢?
    -- 使用小括号来关联相同的条件
    select * from users where (age=22 or age = 25) and sex = '女';
    +------+------+------+-------+-------+------+------+
    | id   | name | age  | phone | email | sex  | mm   |
    +------+------+------+-------+-------+------+------+
    | 1002 | cc   |   25 | 123   | NULL  |    | NULL |
    +------+------+------+-------+-------+------+------+
    1 row in set (0.00 sec)

    Like 子句

    我们可以在where条件中使用=,<,> 等符合进行条件的过滤,但是当想查询某个字段是否包含时如何过滤?
    可以使用like语句进行某个字段的模糊搜索,
    例如: 查询 name字段中包含五的数据
    -- like 语句  like某个确定的值 和。where name = '王五' 是一样
    select * from stu where name like 'yyx';
    
    -- 使用 % 模糊搜索。%代表任意个任意字符
        -- 查询name字段中包含x的
        select * from stu where name like '%x%';
        -- 查询name字段中最后一个字符 为 u的
        select * from stu where name like '%u';
        -- 查询name字段中第一个字符 为 q 的
        select * from stu where name like 'q%';
    -- 使用 _ 单个的下划线。表示一个任意字符,使用和%类似
        -- 查询表中 name 字段为两个字符的数据
        select * from users where name like '__';
    
        -- 查询 name 字段最后为j,的两个字符的数据
        select * from users where name like '_j';

    注意:where子句中的like在使用%或者_进行模糊搜索时,效率不高,使用时注意:

    • 尽可能的不去使用%或者_
    • 如果需要使用,也尽可能不要把通配符放在开头处

    Mysql中的统计函数(聚合函数)

    可以使用like语句进行某个字段的模糊搜索,

    例如: 查询 name字段中包含五的数据

    count(),max(),min(),sum(),avg()

    # 计算 users 表中 最大年龄,最小年龄,年龄和及平均年龄
    select max(age),min(age),sum(age),avg(age) from stu;
    -- 上面数据中的列都是在查询时使用的函数名,不方便阅读和后期的调用,可以通过别名方式 美化
    select max(age) as max_age,min(age) as min_age,
    sum(age) as sum_age,avg(age) as avg_age from stu;
    -- 统计 stu 表中的数据量
    select count(*) from stu;
    select count(id) from stu;
    -- 上面的两个统计,分别使用了 count(*) 和 count(id),结果目前都一样,有什么区别?
    -- count(*) 是按照 users表中所有的列进行数据的统计,只要其中一列上有数据,就可以计算
    -- count(id) 是按照指定的 id 字段进行统计,也可以使用别的字段进行统计,
    -- 但是注意,如果指定的列上出现了NULL值,那么为NULL的这个数据不会被统计
    -- 假设有下面这样的一张表需要统计
    +----+----------+-----+------+---------+
    | id | name     | age | sex  | classid |
    +----+----------+-----+------+---------+
    |  1 | zhangsan |  20 |    |       1 |
    |  2 | yyx      |  22 |    |       1 |
    |  3 | lj       |  20 |    |       1 |
    |  4 | zhaoliu  |  25 |    |       1 |
    |  5 | uu01     |  26 |    |       1 |
    |  6 | uu02     |  28 |    |       2 |
    |  7 | qq02     |  24 |    |       2 |
    |  8 | uu03     |  32 |    |       2 |
    |  9 | qq03     |  23 |    |       2 |
    | 10 | aa       |  19 |    |       2 |
    | 25 | bb       |  20 | NULL |       2 |
    +----+----------+-----+------+---------+
    
    -- 如果按照sex这一列进行统计,结果就是10个而不是11个,因为sex这一列中有NULL值存在
    select count(sex) from stu;
    +------------+
    | count(sex) |
    +------------+
    |         10 |
    +------------+

    聚合函数除了以上简单的使用以外,通常情况下都是配合着分组进行数据的统计和计算

    group by分组

    group by 语句根据一个或多个列对结果集进行分组
    一般情况下,是用与数据的统计或计算,配合聚合函数使用
    -- 统计 stu 表中 男女生人数,
    -- 很明显按照上面的需要,可以写出两个语句进行分别统计
    select count(*) from stu where sex='女';
    select count(*) from stu where sex='男';
    -- 可以使用分组进行统计,更方便
    select sex,count(*) from stu group by sex;
    +------+----------+
    | sex  | count(*) |
    +------+----------+
    | NULL |        1 |
    |    |        7 |
    |    |        3 |
    +------+----------+
    -- 统计1班和2班的人数
    select classid as '班级',count(*) from stu group by classid;
    +--------+----------+
    | 班级   | count(*) |
    +--------+----------+
    |      1 |        5 |
    |      2 |        6 |
    +--------+----------+
    -- 分别统计每个班级的男女生人数
    select classid,sex,count(*) from stu group by classid,sex;
    +---------+------+----------+
    | classid | sex  | count(*) |
    +---------+------+----------+
    |       1 |    |        4 |
    |       1 |    |        1 |
    |       2 | NULL |        1 |
    |       2 |    |        3 |
    |       2 |    |        2 |
    +---------+------+----------+
    # 注意,在使用。group by分组时,一般除了聚合函数,其它在select后面出现的字段列都需要出现在grouop by 后面

    having子句

    having时在分组聚合计算后,对结果再一次进行过滤,类似于where,
    where过滤的是行数据,having过滤的是分组数据
    -- 要统计班级人数
    select classid,count(*) from stu group by classid;
    
    -- 统计班级人数,并且要人数达到5人及以上
    select classid,count(*) as num from stu group by classid having num >=5;

    orded by

    ORDER BY 语句用于根据指定的列对结果集进行排序。ORDER BY 语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用 ASC(升序)、DESC(降序) 关键字。

    limit

    limit子句用于限制查询结果返回的数量,常用于分页查询
    # 查询10条数据,索引从0到9,第1条记录到第10条记录
    select * from t_user limit 10;
    select * from t_user limit 0,10;
    
    # 查询8条数据,索引从5到12,第6条记录到第13条记录
    select * from t_user limit 5,8;

    课后练习题

    -- 1. 统计班级 classid为2的男女生人数?
    select sex,count(*) where classid=2 group by sex;
    -- 2. 获取每个班级的 平均年龄,并按照平均年龄从大到小排序
    select classid,avg(age) as avg_age from stu group by classid order by avg_age desc;
    -- 3. 统计每个班级的人数,按照从大到小排序
    select classid,count(*) as '人数' from stu group by classid order by count(*) desc;
    -- 4. 获取班级人数最多的 班级id信息
    select classid,count(*) as '人数' from stu group by classid order by count(*) desc limit 1;

    总结:

    mysql中的查询语句比较灵活多样,所以需要多加练习,
    并且在使用查询语句时,一定要注意sql的正确性和顺序

    | 子句 | 说明 | 是否必须 | | -------- | -------------------------------- | ------------------ | | select | 要返回的列或表达式,字段列表| * | 是 | | from | 查询的数据表 | 需要在表中查询时 | | Where | 数据行的过滤 | 否 | | group by | 分组 | 仅在分组聚合计算时 | | having | 分组后的数据过滤 | 否 | | order by | 输出排序 | 否 | | limit | 要提取的结果行数 | 否 |

    展开全文
  • Mysql的增删改查语句

    2013-11-04 17:08:04
    字段为中文:select sid as "学号", name as "姓名" from tstudent; 查询满足条件:select *from tcourse where chours=100;  select *from tcourse where chours; 选择查询:select *from tcourse ...
  • MySQL的增删改查语句总结添加数据 格式:insert into 表名[(字段列表)] values(值列表...); 注:[]中为可省略的数据-- 标准添加(指定所有字段,给定所有的值) 修改数据 格式:update 表名 set 字段1=值1,字段值2=...
  • System.out.println("插入了" + count + "条语句"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void delete() { DBUtil dbUtil = new DBUtil(); ...
  • 开启数据库:1、开启服务:net start mysql停止服务:net stop mysql2、连接数据库:mysql -uroot(用户名) -p123456(密码)数据库操作:增删改查一、数据库:1、show databases; //查看所有数据库,database要加复数s...
  • //输出记录各个字段值 System.out.println(name + " " + age + " " + sex + " " + address + " " + depart + " " + worklen + " " + wage); } conn.close();//关闭数据库连接 } catch (SQLException e) {...
  • 表里的每一列都应该与主键有直接关系,当使用自增长列不满足2、3范式,是特殊例子,只用在解决较为复杂的问题SQL的增删改查:一、添加数据, insert into 表名 values(添加的内容) ,添加的内容每项用逗号隔开,注意...
  • conn= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/bz?useUnicode=true&charactorCoding=UTF-8&useSSL=false", "root", "root"); cs=conn.prepareCall("{?=call f_1(?)}"); cs.registerOutParameter...
  • **********************DDL语句*********************(DDL是数据定义语言缩写,简单说,就是对数据库内部对象进行创建、删除、修改等操作语言。)命令结束符,用“;”或“\g”结束**********************...
  • 在用Java对数据库进行链接时候我们需要运用到面向对象方法,将数据库中信息封装成一个对象,下面进行演示:建立与员工表相对应emp类package day02;import java.io.Serializable;import java.sql.Date;public...
  • public class JdbcDemo {//MySqlpublic static final String DRIVER = ...public static final String URL = "jdbc:mysql://localhost:port/databse";//Oracle//public static final String DR...
  • 表里的每一列都应该与主键有直接关系,当使用自增长列不满足2、3范式,是特殊例子,只用在解决较为复杂的问题SQL的增删改查:一、添加数据, insert into 表名 values(添加的内容) ,添加的内容每项用逗号隔开,注意...
  • 目录前言:什么是JDBC维基百科简介:Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问...简单地说,就是用于执行SQL语句的一类Java API,通过JDBC使得我们可...
  • 良心公众号关注不迷路MySQL俨然是时下最流行的关系型数据库之一。因此,有必要了解MySQL的基础架构,这不仅对日常开发、问题排查会有很大的帮助,而且对设计的想法和优化的思路也是有启发性...
  • 慢慢来,慢慢来。...: INSERT INTO person (person_id, fname, lname, gender, birth_date) VALUES (null, 'William', 'Turner', 'M', '1972-05-27'); INSERT INTO person (person_id, fname, ln...
  • 数据库设计的三大范式:  1.列的原子性,即列是不可再分的 ...SQL的增删改查:  一、添加数据, insert into 表名 values(添加的内容) ,添加的内容每项用逗号隔开,注意事项:  字符串和...
  • } 操作类,进行增删改查 UserDao.java package com.accp.jdbc; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java....
  • MYSQL数据库 增删改查基础语句发布时间:2018-04-17 15:18,浏览次数:709, 标签:MYSQLMYSQL数据库增删改查基础语句**********************DDL语句*********************(DDL是数据定义语言缩写,简单说,就是对...
  • /数据表,显示表结构)l创建数据库 create database studentl删除数据库 drop database studentl创建数据表 create table admin(....)l删除数据表 drop table adminl显示...l显示表结构 desc adminl增删改查lIns...
  • 在本文中,菜鸡将讲述我们日常最司空见惯的增删改查,在MySQL底层,到底是怎样执行的。必须说明的是,由于菜鸡水平有限,仅仅是谈一谈个人理解,如有谬误,请帮忙指出,以免误导看到本文的小伙伴,同时也帮助菜...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,281
精华内容 1,312
关键字:

mysql的增删改查语句

mysql 订阅