mysql创建一个表用来快速查询表_mysql数据库的创建表格、查询(多表查询)

我们要下载Mysql数据库(可以去官网中下),然后在下载一个navicat,我们在这里面使用Mysql。等这些准备工作做完之后,我们就正式来写sql语句了。

首先:我们需要创建一个用户,然后有一个test的数据库,这里面是空的,我们可以使用这个:

8d97003a7ab1c0b60bb7c3f1d46bd2c9.png

然后是点击新建查询按钮:

c1201168b851830cf892d76c652c9cca.png

我们可以在里面写sql语句了,我们首先要使用sql语句创建几个表:

CREATE TABLE`customers` (

`customers_id`INT(11) PRIMARY KEYAUTO_INCREMENT, //PRIMARY KEY AUTO_INCREMENT 表示设为主键,并自增长

`last_name`VARCHAR(10) NOT NULL,

`first_name`VARCHAR(10) NOT NULL,

`dob` DATE,

`phone`VARCHAR(12)

)

(后面几个表跟上面一样的,所以我们就不在这里演示了)。

然后就是使用insert ...into...插入数据:

insert intocustomers (

last_name,first_name,dob,phone

)values('李', '锐','1965-01-01', '800-555-1211');insert intocustomers (

last_name,first_name,dob,phone

)values('王', '胜', '1968-02-05', '800-555-1212');insert intocustomers (

last_name,first_name,dob,phone

)values('张', '阳', '1971-03-16', '800-555-1213');

(后面几个跟上面一样的,所以我们就不在这里演示了)。后面几个表如下:

8c0ec2bcbad75cc228c16bafaadca9bc.png

现在,我们可以写查询语句了,使用比较操作符:

1 语法为:select * from 表名 where _id !=2;

例如:查询customers表中customer_id不等于2的行:

1 SELECT * FROM customers where customers_id !=2;

使用in操作符:

1 语法为:select * from 表名 where _id in(..,..,);

例如:使用in操作符从customers表中检索customer_id列的值为2、3、或5的记录。

1 select * from customers where customers_id in(2,3,5)2 "not in"恰好相反;

使用逻辑操作符:

1 语法为:select * from 表名 where 字段名>x and 字段名

例如:从customers表中检索dob列大于1970年1月1日并且小于2000年1月1日的客户:

1 select * from customers where dob>'1970-01-01' and dob

使用ORDER BY子句对行进行排序

order by子句用于对从数据库检索出的行进行排序,order by子句可以指定一列或多列(查询结果会根据这些列进行排序)

,而且必须位于FORM和WHERE子句(如果提供WHERE子句)之后。

desc为倒序排列;

语法为:select * from 表名 ORDER BY 字段名

例如:查询出products表中的数据,以价格进行排序。

1 select * from products ORDER BY price

使用between操作符:

语法为:select *from 表名 where _id between x and y

当然not between会返回相反的行,between也可以检索在二个sql语句之间的记录,当然要求sql语句查询出的结果要与类型匹配,为整型。

例如:从customers表中检索customers_id列的值在1和3之间的记录:

1 select *from customers where customers_id between 1 and 3

现在我们可以用多表查询,

多表查询中有一个笛卡儿积,说的是如果在多表查询中不指定条件,就会导致将一个表中的所有行都连接到另外一个表中的所有行上,这种情况称为笛卡尔积。出现这种情况结果就会显示很多行。

里面又分内连接 join...on和外连接 left jion...on.. ,...right...on

为了方便,通常我们会定义表的一些别名:

例如:同时查看产品名称和产品类别二个表中的信息。

1 selectp.product_id, p.name,2 2. t.name astype,3 3. p.description,4 4. p.price5 5.from products p joinproduct_types t6 6. on p.product_type_id = t.product_type_id;


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部