mysql语句查询地址,mysql 语句查询

看了一下我mysql,分享一下成果。当然,sql博大精深,欢迎高手吐槽,并献上有技术含量的句子。

要加注释,因为菜鸟看不懂》。。。

mysql语句基础。

造出一张表。

CREATE TABLE `main` (

/*自动递增*/

`id` int(10) NOT NULL AUTO_INCREMENT,

`name` varchar(50) NOT NULL,

`password` varchar(100) NOT NULL,

/*定义主键,*/

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT charset=utf-8;

ENGINE=MyISAM 表达储存模式,常用的还有innodb.

1.    查询总共有多少字段。

select count(*) from qg_cate;

2.   打印出该表单所有信息。

show full columns from qg_admin;

3 用as来创建字段

select qg_name as 'aaa' from qg_admin;

select id,city id*city as idcity from table;

4.   查询数据库的基本信息。

select version(),database();

5.   指定查出字段的顺序。

select remark, uid, id, regdate from biao1;

6  .   select * from mail where srcuser500;

比较值放where后面,不符合要求的值不会出现。

select srcuser,srcuser500 from mail;

符合要求的结果是1,不符合的结果是0.

7.

这个比较重要了,要查询是否等于空,不能id=null,而是用is null或is not null;例如

select * from img where id is not null;

8.

if函数的简单用法,格式if(x,x,x);

例子:

select name,if(id is null,'unknown',id) as 'id' from table;//如果id为空,就显示unknown。

9,

select

date_format(t,'%M %e, %y') as date_sent,

concat(srcuser,'@',srchost) as sender

from mail;

concat可以将两个字段链接起来,中间是@符号。

10.

distinct:过滤掉相同字段,删除重复出现的值。例如:

select distinct srcuser from mail;

11,

count(),某个结果的数量,例子是不同结果的数量。

select count(distinct srcuser) from mail;

12

select name from demo.think_role;

from后面是库里的表明,也就是说不用use 库,可以直接跨库搜索。

13

范围查询,比如 where id between 4 and 9;

14.几个常用的操作符

and: 比如id>3 and uid>8;

or:比如id>3 or uid>9;

in:比如 in(3,9);这里拿到的是第三和第九条信息。

not:比如not in(3,4);就是除了第三和第四条

exists():这个括号里可放整句sql,返回true或false,比较高级,带补充。

15.

like   %匹配所有,_匹配单个字符。

16,特别重要的多表查询。

'select qg_singlepage.qg_id,qg_name,qg_filename,qg_display,qg_location,qg_show from ' .

'qg_singlepage inner join qg_termianl using(qg_uid) where ' .

'qg_termianl.qg_name like \'%'.$like.'%\' and qg_singlepage.qg_uid like \'%'.$_GET['id'].'%\' ' .

'limit '.$Page->firstRow.','.$Page->listRows limit 0,2;

17.

正则查询。

select prod from products where prod regexp '[123] Ton' ;

regexp后面是正则表达式。

这里用转义符飞话要用两个\\mysql用一个,正则用一个。

18 函数

rtrim() 取出值右边的空格。

upper()输出值大写。

select upper(name) from table_copy;

重要的是下面几个函数

avg(),平均值

count(),行数,上面讲过两遍了,其实这是个函数。

max()最大值。

min()最小值。

sum() 某列的和。

19

使用union进行联合查询。他可以进行比连接表更复杂的联合查询,他可以连接where语句。

select name from table1 where id=3

union

select price from table2 where id=5;

20 视图

create view product as

select cust_name,cust_contace,id

from customers,orders,orderitems

where customers.id=orders.id

and orderitems.order_num=orders.ordernum;

创建视图,虚拟表product。里面有字段select后面的,从from后三个表中获得,where后是条件。

然后select × from product就能查到值。

21:超级重要

将一个表单某些字段里的数据导入到另一个表:insert

into

qg_trainingsearch

(qg_title,qg_trainingid)

select

qg_title,qg_id

from qg_training where ...;

22.建立索引。

建立索引sql语句。    Alter table 表名 add index 索引名(栏位名1,栏位名2);

23. 建立索引sql语句。    Alter table 表名 add index 索引名(栏位名1,栏位名2);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值