mysql数据库常用指令(增删改查)
命令行:在Navicat premium上练习增删改查。
命令行:
#查看所有数据库 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'
六. 执行多条指令
多条指令时,在指令的末尾用英文 分隔符 “ ; ” 可实现
七、阿里云语句查询
直接输入查询
更多推荐
所有评论(0)