zoukankan      html  css  js  c++  java
  • 数据库操作

    C/S:Client Server
    B/S:Brower Server

    PHP主要实现B/S

    .net IIS java TomCat

    LAMP:Linux系统 A阿帕奇服务器 Mysql数据库 PHP语言

    WAMP:Windows系统 A阿帕奇服务器 Mysql数据库 PHP语言

    mysql:常用代码

    create table ceshi1
    (
    Uid varchar(50) primary key,
    Pwd varchar(50),
    Name varchar(50)
    Nation varchar(50),
    foreign key (Nation) references Nation(Code)
    )

    写查询语句需要注意:

    1.创建表的时候,最后一列后面不要写逗号

    2.如果有多条语句一起执行,注意在语句之间加分号分隔

    3.写代码所有符号都是半角的

    关系型数据库:表和表之间是有关系存在的


    创建表的几个关键字:

    1.主键: primary key

    2.非空: not null

    3.自增长列:auto_increment

    4.外键关系: foreign key (列名) references 表名(列名)

    修改表:

    1.alter table 表名 需要修改的内容

    2.alter table 表名 add primary key (列名) #添加列为主键

    3.alter table 表名 add primary key (列名,列名) #添加两个列为组合主键 add 添加 delete 删除

    CRUD操作:

    1.添加数据:
    insert into 表名 values(值,'值') #要求values括号里面值的个数要跟表里面列数相同 字符串需要加''

    insert into 表名 (列名,列名) values('值','值') #添加指定列的值

    2.修改数据:
    update 表名 set 列名=新值 where 条件

    3.删除数据:
    delete from 表名 where 条件

    4.查询数据:

    1.普通查询,查所有的:
    select * from 表名 #查所有数据

    select 列名,列名 from 表名 #查指定列

    2.条件查询
    select * from 表名 where 条件 #一个条件

    select * from 表名 where 条件 and 条件 #两个条件并的关系

    selecgt * from 表名 where 条件 or 条件 #两个条件或的关系

    3.排序查询
    select * from 表名 order by 列名 #默认升序排列 asc 如果要降序排列 desc

    select * from 表名 order by 列名 desc,列名 asc #多列排序用逗号隔开

    4.聚合函数

    now()现在的时间

    year(日期) 取年

    month() 取月份

    day() 取日期

    abs(x) 返回x的绝对值

    ceil(x) 返回大于或等于X的最大整数

    floor(x) 返回整数位

    rand()*x 返回一个0-x之间的随机数

    pi() 返回圆周率(3.1415926)

    truncate(1.23456,x) 截取到第x位

    sqrt(x) 求x的平方根

    mod(x,y) 取x/y的余数

    char_length(abc) 取括号内字符串的长度

    concat('abc','hgk') 合并括号内字符串

    concat_ws('/','aaa','bbb') 合并字符串 以/ 分开

    insert('123456',x,y,abc) 替换字符从x开始替换y个字符串

    lower() 转换成小写

    left('abcde',x) 从前面开始截取x个字符

    right('abcde',x)从后面开始截取x个字符

    repeat('abc',x) abc重复出现x次

    space(n) 返回n个空格

    select count(列名) from 表名 #取个数

    select sum(列名) from 表名 #查询列的和

    select avg(列名) from 表名 #查询列的平均值

    select max(列名) from 表名 #查询列的最大值

    select min(列名) from 表名 #查询列的最小值

    select * from 表名 where 列名 between 值 and 值 #列名的值 在两个值之间


    5.分页查询

    select * from 表名 limit (i-1)*n,m #跳过n条数据取m条数据 i页

    6.分组查询

    select 列名 from 表名 group by 列名 #简单分组查询

    select 列名 from 表名 group by 列名 having count(*)>x #查询系列数量大于x的系列 having 后面相当于条件 符合大于x个数的才显示

    7.去重查询

    select distinct(列名) from 表名


    8.修改列名

    select 列名 as '新列名' from 表名

    9.模糊查询

    select * from 表名 where 列名 like'值%' # %代表任意多个字符 %值% 包含 _代表一个字符

    10.离散查询

    select * from 表名 where 列名 in('值','值','值')

    select * from 表名 where 列名 not in('值','值','值')

    Select * from 表名 where 列名<all (子查询多个数)

    高级查询:

    1.链接查询

    select * from 表名,要连接的表名 #得出的结果称为笛卡尔积

    select * from 表名,要连接的表名 where 表名.列名=要连接的表名.列名

    join on 链接

    select * from 表名 join 要连接的表名 #join链接

    select * from 表名 join 要连接的表名 on 表名.列名=要连接的表名.列名

    2.联合查询

    select 列名,列名 from 表名
    union
    select 列名,列名 from 要联合的表名

    列数要相同

    3.子查询

    1)无关子查询

    select * from 表名 where 列名='要查询的内容'

    select * from 表名 where 上面表的表名=(要查询的内容)

    select * from 表名 where 关联的表名=(select * from 关联的表名 where 列名='要查询的内容')

    子查询查询的结果被父查询使用,子查询可以单独执行的称为无关子查询

    2)相关子查询

    select * from 表名 where 列名<(内容的平均数) #查询内容小于括号内的平均数

    select avg(列名) from 求平均的表名 where 列名='值' # 查询某列的平均值

    select * from 表名 a where 列名<(select avg(列名) from 表名 b where b.列名='a.列名')

  • 相关阅读:
    I.MX6 Surfaceflinger 机制
    理解 Android Fragment
    RPi 2B DDNS 动态域名
    RPi 2B IPC webcam server
    理解 Android MVP 开发模式
    I.MX6 system.img unpack repack
    can't set android permissions
    VMware Ubuntu 共享文件夹
    解决oracle数据库连接不上的问题
    perfect-scrollbar示例
  • 原文地址:https://www.cnblogs.com/zbxiaoxu/p/5477322.html
Copyright © 2011-2022 走看看