GVKun编程网logo

MySQL按特定ID值排序(mysql按指定值排序)

1

最近很多小伙伴都在问MySQL按特定ID值排序和mysql按指定值排序这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展MysqlSQLDELETEJOIN按特定顺序(由于限制)、M

最近很多小伙伴都在问MySQL按特定ID值排序mysql按指定值排序这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Mysql SQL DELETE JOIN按特定顺序(由于限制)、Mysql中设置指定IP的特定用户及特定权限、Mysql入门MySQL按照汉字的拼音排序简单实例、mysql多个值排序,类似置顶等相关知识,下面开始了哦!

本文目录一览:

MySQL按特定ID值排序(mysql按指定值排序)

MySQL按特定ID值排序(mysql按指定值排序)

是否可以使用预定义的一组列值(ID)按“ order by”在mysql中排序,例如:order by(ID =
1,5,4,3),因此我会在其中得到记录1、5、4、3订购吗?

更新: 关于滥用mysql ;-)我必须解释为什么我需要这个…

我希望记录每5分钟随机更改一次。我有一个cron任务来执行更新表,以在其中放置不同的随机排序顺序。只有一个问题!分页。我将有一位访问者来到我的页面,我给他前20个结果。他将等待6分钟,然后转到第2页,并且由于排序顺序已经更改,因此他将得到错误的结果。

所以我认为,如果他来到我的网站,我会将所有ID都放在一个会话中,而当他进入第2页时,即使排序已经改变,他也会得到正确的记录。

还有其他更好的方法吗?

答案1

小编典典

您可以使用ORDER
BY和FIELD函数。见http://lists.mysql.com/mysql/209784

SELECT * FROM table ORDER BY FIELD(ID,1,5,4,3)

它使用Field()函数,该函数根据文档“返回str1,str2,str3,…列表中str的索引(位置)。如果找不到str,则返回0”。因此,实际上您是根据该函数的返回值(即给定集中字段值的索引)对结果集进行排序。

Mysql SQL DELETE JOIN按特定顺序(由于限制)

Mysql SQL DELETE JOIN按特定顺序(由于限制)

如何解决Mysql SQL DELETE JOIN按特定顺序(由于限制)?

是否可以按特定顺序从不同的表中删除?

我需要删除

DELETE t1,t2,t3
FROM T1
LEFT JOIN T2 on t2.id =t1.t2_id
LEFT JOIN T3 on t3.id =t1.t3_id

但由于数据库中的限制,只能按此顺序 (t1>t2>t3)。 有时似乎没有遵循顺序。

解决方法

您可以暂时禁用外键检查

SET FOREIGN_KEY_CHECKS=0;
DELETE t1,t2,t3
FROM T1
LEFT JOIN T2 on t2.id =t1.t2_id
LEFT JOIN T3 on t3.id =t1.t3_id

SET FOREIGN_KEY_CHECKS=1;

Mysql中设置指定IP的特定用户及特定权限

Mysql中设置指定IP的特定用户及特定权限

创建用户:
格式:grant select on 数据库.* to 用户名@登录主机 identified by ''密码''
  举例:
    例 1:增加一个用户 test1 密码为 abc,让他可以在任何主机上登录,并对所有数据库有
    查询、插入、修改、删除的权限。首先用以 root 用户连入 MySQL,然后键入以下命令:
      grant select,insert,update,delete on *.* to root@localhost identified by ''mysql'';
    或者
      grant all privileges on *.* to root@localhost identified by ''mysql'';
    然后刷新权限设置。
      flush privileges;

    例 2:如果你不想 root 有密码操作数据库“mydb”里的数据表,可以再打一个命令将密码消掉。
      grant select,insert,update,delete on mydb.* to root@localhost identified by '''';
 
  #注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。
  如果想远程登录的话,将"localhost"改为"%",
  表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

 

2、修改密码

复制代码
 用UPDATE直接编辑user表

  mysql -u root

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD(''newpass'') WHERE user = ''root'';

  mysql> FLUSH PRIVILEGES;


在丢失root密码的时候,可以这样

  mysqld_safe --skip-grant-tables&

  mysql -u root mysql

  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user=''root'';

  mysql> FLUSH PRIVILEGES;
复制代码

 

 

3、修改登录的ip,让那个ip可以登录

数据库可以远程连接或者说用IP地址可以访问

复制代码
可能是你的帐号不允许从远程登陆,只能在localhost。
这个时候只要在localhost的那台电脑,登入mysql后,
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,
从"localhost"改称"%"

mysql -u root -p

mysql>use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO ''root''@''192.168.1.100'' IDENTIFIED BY ''password'' WITH GRANT OPTION;
mysql> flush privileges;  #刷新数据库(不要然,重启才可以看到效果)
mysql> select host, user from user; #查看
复制代码

 

4. 删除用户

   @>mysql -u root -p

  @>密码

   mysql>Delete FROM user Where User=''test'' and Host=''localhost'';

   mysql>flush privileges;

   mysql>drop database testDB; //删除用户的数据库

删除账户及权限:>drop user 用户名@''%'';

        >drop user 用户名@ localhost; 

 

5. 列出所有数据库

  mysql>show database;

 

6. 切换数据库

  mysql>use ''数据库名'';

 

7. 列出所有表

  mysql>show tables;

 

8. 显示数据表结构

  mysql>describe 表名;

 

9. 删除数据库和数据表

  mysql>drop database 数据库名;

  mysql>drop table 数据表名;

 

10.表操作

  备注:操作之前使用“use <数据库名>”应连接某个数据库。
  建表
  命令:create table <表名> (<字段名 1> <类型 1> [,..<字段名 n> <类型 n>]);
  例子:
  mysql> create table MyClass(                 
  > id int(4) not null primary key auto_increment,      
  > name char(20) not null,               
  > sex int(4) not null default ''0'',            
  > degree double(16,2));               


获取表结构
  命令: desc 表名,或者show columns from 表名
  例子:
  mysql> describe MyClass        
  mysql> desc MyClass;             
  mysql> show columns from MyClass;     


删除表
  命令:drop table <表名>
  例如:删除表名为 MyClass 的表
  mysql> drop table MyClass;

插入数据
  命令:insert into <表名> [( <字段名 1>[,..<字段名 n > ])] values ( 值 1 )[, ( 值 n )]
  例子:
  mysql> insert into MyClass values(1,''Tom'',96.45),(2,''Joan'',82.99), (2,''Wang'', 96.59);


查询表中的数据
  查询所有行
  mysql> select * from MyClass;

查询前几行数据
  例如:查看表 MyClass 中前 2 行数据
  mysql> select * from MyClass order by id limit 0,2;
  或者
  mysql> select * from MyClass limit 0,2;


删除表中数据
  命令:delete from 表名 where 表达式
  例如:删除表 MyClass 中编号为 1 的记录
  mysql> delete from MyClass where id=1;

修改表中数据
  命令:update 表名 set 字段=新值,... where 条件
  mysql> update MyClass set name=''Mary'' where id=1;


在表中增加字段
  命令:alter table 表名 add 字段 类型 其他;
  例如:在表 MyClass 中添加了一个字段 passtest,类型为 int(4),默认值为 0
  mysql> alter table MyClass add passtest int(4) default ''0''


更改表名
  命令:rename table 原表名 to 新表名;
  例如:在表 MyClass 名字更改为 YouClass
  mysql> rename table MyClass to YouClass;


更新字段内容
  命令:update 表名 set 字段名 = 新内容
  update 表名 set 字段名 = replace(字段名, ''旧内容'', ''新内容'');
  例如:文章前面加入 4 个空格
  update article set content=concat(''    '', content);

 

 

原文https://www.cnblogs.com/lemon-flm/p/7597879.html

Mysql入门MySQL按照汉字的拼音排序简单实例

Mysql入门MySQL按照汉字的拼音排序简单实例

《MysqL入门MysqL按照汉字的拼音排序简单实例》要点:
本文介绍了MysqL入门MysqL按照汉字的拼音排序简单实例,希望对您有用。如果有疑问,可以联系我们。

如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了).MysqL数据库

直接在查询语句后面 添加 order by name asc; 查询结果依照姓氏的升序排序;MysqL数据库

如果存储姓名的字段采用的是 utf8字符集,需要在排序的时候对字段进行转码;对于的代码是  order by convert(name using gbk) asc; 同样,查询的结果也是依照姓氏的升序排序;MysqL数据库

以上这篇MysqL依照汉字的拼音排序简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小编PHP.MysqL数据库

欢迎参与《MysqL入门MysqL按照汉字的拼音排序简单实例》讨论,分享您的想法,小编 jb51.cc为您提供专业教程。

mysql多个值排序,类似置顶

mysql多个值排序,类似置顶

mysql排序

mysql 指定多个值排序,类似置顶。请高手指教,谢谢!!

有个表mytb
id name
1 oop
2 vs
3 ui
4 lli
要实现效果:
指定2排第一,4排第二,其他的降序或者升序。
2 vs
4 lli
1 oop
3 ui
或者
2 vs
4 lli
3 ui
1 oop
请问怎样实现,谢谢!只有1币,请不要介意。。。。

今天关于MySQL按特定ID值排序mysql按指定值排序的介绍到此结束,谢谢您的阅读,有关Mysql SQL DELETE JOIN按特定顺序(由于限制)、Mysql中设置指定IP的特定用户及特定权限、Mysql入门MySQL按照汉字的拼音排序简单实例、mysql多个值排序,类似置顶等更多相关知识的信息可以在本站进行查询。

本文标签: