show databses; //查看数据库列表
create database shop; //创建一个名为shop的数据库
use shop; //使用shop库
//创建一张名为product的表,包含一个id字段 字段类型为int(整形)not null,promary key表示该字段为主体,auto_increment表示自动增长
create table product(id int not null primary key auto_increment);
alter table product add column name varchar(100) //增加表结构
alter table product drop column name; //删除表结构
desc product; //查看表结构
insert into product(name, price, type)values("帽子", 99, "服饰");//添加一条数据小括号里面写我要添加的字段,values后按照顺序写值
select * from product; //查询product表中全部的数据
delete from product where id = 1; //删除product表中id为1的数据
update product set name = "拖鞋" where id = 2; //修改product表中id为2的记录的name值为拖鞋
select * from product where type = "服饰" //条件查询
select * from product where type = "服饰" and price >= 100; //多个条件查询
select distinct type from table_name;//去重
select name AS product_name,price,price * 0.8 AS price2 from product;//将price的值乘0.8
SELECT SUM(price) AS total_price FROM product;//求最大值
假设有一个 accounts 表,用于存储银行账户余额。你可以用事务进行转账操作:
START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1; -- 扣款
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2; -- 收款
-- 检查扣款账户余额是否充足
IF (SELECT balance FROM accounts WHERE account_id = 1) >= 0 THEN
COMMIT; -- 提交事务
ELSE
ROLLBACK; -- 回滚事务
END IF;
可以为 product 表添加更多字段来丰富表结构,增加不同类型的数据列
ALTER TABLE product
ADD COLUMN description TEXT, -- 长文本类型
ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 时间戳类型,默认当前时间
ADD COLUMN stock INT DEFAULT 0; -- 整数类型,表示库存数量,默认为0
在查询中排序或限制返回结果
SELECT * FROM product ORDER BY price DESC; -- 按价格降序排列
SELECT * FROM product ORDER BY created_at ASC LIMIT 5; -- 按创建时间升序排列并限制为5条