数据库相关

1. 各种连接:

     自身连接:select * from tb1 as a, tb1 as b where a.col_1 == b.col_2;

     内连接:inner join ,  如 select * from tb1, tb2 where tb1.col_a == tb2.col_b;  这里省略了inner join  ...   on  ....

     左连接:left join, 左表中全部的行,右表中对应的行。(右表中不存在对应行则相应字段为空)

     右连接:right join, 右表中全部的行,左表中对应的行。

     全连接:full join, 左连接输出的行 加上 右连接的行。mysql 不支持。

     交叉连接:即笛卡尔连接. cross join.  ( mysql 支持 )

2. limit:

    1) select * from talbe limit  from_indx,  max_num;

    from_indx 即起始下标,从0开始。max_num是最多记录数。整体意义即提取从from_indx开始的max_num记录。

    2) select * from table limit max_num; 

    只有一个数字的情况下,代表提取的最大记录数。

3. group by:

    先 group 再 order.

    group by 后面可以有若干个字段。

4. having:

    SQL标准规定:HAVING必须引用GROUP BY子句中的列或用于总计函数中的列。

5. mysql 的安全:

    修改root 的密码: update mysql.user set password = password('newpwd'); flush privileges;

    1) 使用grant 和 revoke 语句进行用户的访问控制。

    2) 除了root外,其它任何用户不得访问 mysql数据库中的user表。

    3) 禁止从非法网络上访问 3306 端口。

    4) 数据传递给 mysql 时检查其大小。

    5) 以普通用户来启动 mysqld 服务。并保证只有此用户才能对mysql目标具有读写权利。

    6) file权限不给管理员以外的用户,防止 load data /etc/passwd 到表中,再select 显示。

    7) 使用 max_user_connections 变量来使用 mysqld服务进程。

    8) 重设密码:使用 -skip-grant-tables启动mysqld,然后不输入密码进入命令行操作。




     


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值