命令行: 

#查看所有数据库
show databases;
#使用指定数据库
use database;
# 创建数据库
CREATE DATABASE 数据库名;
# 建表
CREATE TABLE 表名称 (列名称1 数据类型1 [约束],列名称2 数据类型2 [约束],...列名称N 数据类型N [约束]);

例子:

CREATE TABLE students (id INT AUTO_INCREMENT,name VARCHAR(100) NOT NULL,age INT,email VARCHAR(100) UNIQUE,PRIMARY KEY (id));

在Navicat premium上练习增删改查

一、连接数据库 

 1.根据需要选择连接的类型

 测试连接

 2.双击打开连接

3. 新建数据库

4. 新建表

二.、查询

1. 别名

1.1 表名称别名

表名称比较长时,可以通过别名简化,在表名称后面加上命名即可,如下方的cash_order c

SELECT c.orderTime,c.shishou,c.totalPrice,c.cid=1164 FROM cash_order c WHERE c.cid=1164

或者

SELECT c.orderTime,c.shishou,c.totalPrice,c.cid=1164 FROM cash_order AS c WHERE c.cid=1164

FROM  cash_order c 即设置表cash_order的别名为 c

或者加AS

FROM  cash_order AS c

1.2 字段别名

在字段后边加上 AS 然后设置别名即可,如下方的  l.choujiang_id AS 抽奖ID

SELECT l.choujiang_id AS 抽奖ID,COUNT(l.prize_id) AS 次数 FROM choujiang_takeaward_logs l WHERE l.choujiang_id=37 and l.prize_id=104

结果如下:

2. 多个条件

如果有多个条件,用 AND 连接

SELECT c.orderTime,c.shishou,c.totalPrice,c.cid=1164 FROM cash_order c WHERE c.cid=1164 AND c.totalPrice<5 and c.totalPrice>=1

3. 排序

排序时,用 ORDER BY,默认是升序(ASC),如果要倒序显示,加DESC

SELECT c.orderTime,c.shishou,c.totalPrice,c.cid=1164 FROM cash_order c WHERE c.cid=1164 AND c.totalPrice<5 and c.totalPrice>=1 ORDER BY c.totalPrice DESC

4. 根据字符前部分查询(LIKE

查询RequiredDate字段以 1998-05 开头的数据

where o.RequiredDate LIKE '1998-05%'

SELECT o.orderID,p.ProductName as 产品名称, d.UnitPrice as 价格,d.Quantity as 数量
FROM Orders AS o,Order_Details AS d ,Products as p
where o.RequiredDate LIKE '1998-05%' and o.orderID=d.orderID and d.ProductID=p.ProductID

5. 限制查询数量

限制查询的数量,用关键字 LIMIT

SELECT c.orderTime,c.shishou,c.totalPrice,c.cid=1164 FROM cash_order c WHERE c.cid=1164 AND c.totalPrice<5 and c.totalPrice>=1 ORDER BY c.totalPrice DESC LIMIT 10

查询结果如下:

6. 统计搜索结果数量COUNT

SELECT l.choujiang_id,l.prize_id,COUNT(l.prize_id) FROM choujiang_takeaward_logs l WHERE l.choujiang_id=37 AND l.prize_id=104

结果如下:

统计搜索个数

COUNT

SELECT COUNT(`store_id`),`store_id`   FROM `store_goods_box_code` WHERE `state`  =1  GROUP BY `store_id`

7. 搜索结果分组显示

根据不同的字段,进行分组显示GROUP BY,同类型的会自动合在一起显示

SELECT l.choujiang_id,l.prize_id,COUNT(l.prize_id) FROM choujiang_takeaward_logs l WHERE l.choujiang_id=37 GROUP BY l.prize_id

结果如下:

SELECT  p.ProductName as 产品名称,d.UnitPrice as 价格,SUM(d.Quantity) as 数量
FROM Orders AS o,Order_Details AS d ,Products as p
where o.RequiredDate LIKE '1998-05%' and o.orderID=d.orderID and d.ProductID=p.ProductID
GROUP BY 产品名称,价格

8. 数据累加SUM

搜索结果数据累加,用 SUM

SELECT ca.billRequestPhone,SUM(ca.realTotalPrice) FROM cash_order ca WHERE ca.billRequestPhone=138****

结果如下:

9. 联表查询 DMS

SELECT s.`barcode` AS 条形码, d.`store_id`  , d.`created_at` , d.`before` AS 操作前 ,d.`after` AS 操作后 ,d.`field` 
FROM `store_goods_log` d , `store_goods` s 
WHERE d.`goods_id` = s.`id` AND d.`store_id`  = 3389 AND d.`field`=3 AND s.`barcode` = 6901798104595


 

------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------

三、删除

删除某一行

DELETE FROM device_staff WHERE store_id=3393 AND mp_role_id=3743

运行结果:

四、新增

法一:insert values:

优点:可以批量插入;缺点:单条执行效率低。<适合批量插入>

INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);

法二: insert set:

优点:执行效率高;缺点:每次只能插入一条数据。<适合单条插入>

INSERT INTO 表名 SET 列1=值1, 列2=值2, 列3=值3, ...; 

五、修改

1.修改特定数据

UPDATE Orders 
SET Freight='13'
WHERE OrderID='10971'

查看数据

2.修改某列的全部数据 

将where条件去掉即可

UPDATE Orders 
SET Freight='13'

六. 执行多条指令

多条指令时,在指令的末尾用英文 分隔符 “ ; ” 可实现

  

 七、阿里云语句查询

 直接输入查询

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐