mysql_表内容_操作

Posted cui0x01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql_表内容_操作相关的知识,希望对你有一定的参考价值。

1、增

语法:insert into 表 (列名,列名...) values (值,值...)

# 插入单条数据
        insert into 表 (列名,列名...) values (值,值...)

# 插入多条数据
       insert into 表 (列名,列名...) values (值,值...),(值,值...)

# 插入另一条语句的查询结果
        insert into 表 (列名,列名...) select 列名,... from

2、删

语法:delete from 表

delete from 表;
delete fromwhere id=1;

3、改

语法:update 表 set name = \'nick\' where id>1

update 表 set name = \'nick\' where id>1

4、查

语法:select * from 表

select * fromselect * fromwhere id > 1
select nid,name,gender as gg fromwhere id > 1

# as 做别名

5、条件

语法:select * from 表 where id > 1

    select * fromwhere id > 1 and name != \'nick\' and num = 12;    # 多个条件
    select * fromwhere id between 5 and 16;                       # id在5到16之间
    select * fromwhere id in (11,22,33);                          # id在元祖中
    select * fromwhere id not in (11,22,33);                      # id不在元祖中
    select * fromwhere id in (select nid from 表);                # id在查询结果中

6、通配符

 语法:select * from 表 where name like \'_n%\'

  select * fromwhere name like \'ni%\'  # ni开头的所有(多个字符串)
    select * fromwhere name like \'s_\'   # s开头的所有(一个字符)

7、限制

语法:select * from 表 limit 9,5;

    select * from 表 limit 5;            # 前5行
    select * from 表 limit 9,5;          # 从第9行开始的5行
    select * from 表 limit 5 offset 9    # 从第9行开始的5行

 

8、排序

语法:select * from 表 order by 列1 desc,列2 asc

    select * from 表 order by 列 asc             # 根据 “列” 从小到大排列
    select * from 表 order by 列 desc            # 根据 “列” 从大到小排列
    select * from 表 order by 列1 desc,列2 asc   # 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序

 

9、分组

语法:select num from 表 group by num

    select num from 表 group by num           # 根据num分组
    select num,nid from 表 group by num,nid   # 根据num和nid分组
    select num,nid from 表  where nid > 10 group by num,nid order nid desc
    select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid  # 内置函数
    select num from 表 group by num having max(id) > 10    # 前面计算的结果交由后面处理
 
    注:group by 必须在where之后,order by之前
count(*)、count(1) # 表示个数
sum(score)        # 表示和
max(score)        # 表示最大数
min(score)        # 表示最小数

having            # 要用前面处理结果是用having。

10、连表

语法:inner join . onleft join . onright join . on

    无对应关系则不显示
    select A.num, A.name, B.name
    from A,B
    Where A.nid = B.nid
 
    无对应关系则不显示
    select A.num, A.name, B.name
    from A inner join B
    on A.nid = B.nid
 
    A表所有显示,如果B中无对应关系,则值为null
    select A.num, A.name, B.name
    from A left join B
    on A.nid = B.nid
 
    B表所有显示,如果B中无对应关系,则值为null
    select A.num, A.name, B.name
    from A right join B
    on A.nid = B.nid

11、组合

语法:union、union all

    组合,自动处理重合
    select nickname
    from A
    union
    select name
    from B
 
    组合,不处理重合
    select nickname
    from A
    union all
    select name
    from B

参考:https://www.cnblogs.com/suoning/articles/5769141.html

以上是关于mysql_表内容_操作的主要内容,如果未能解决你的问题,请参考以下文章

python学习_day42_mysql表操作1

mysql基础_操作文件中的内容

mysql_04_操作表

mysql_表_操作

MySQL基础_视图

Django图书管理系统(单表操作)