MySQL数据的增删改操作

MySQL数据的增删改操作

1、查看表的属性

show columns from 表名   ——显示列的属性名字等等

information数据库存储着所表的信息,其中的table_constraints存储着约束信息

SELECT * FROM table_constraints
WHERE table_name= 表名 ——查询该表的所有约束

例如:

SELECT * FROM table_constraints
WHERE table_name= 'student' 

3、插入操作

[]里的语句是可选项也可以不选用。

写法一:insert [low_priority 降低优先级| delayed 延迟 | hig_priority 提高优先级(只对insert 和select有效) ] [ignore 忽略警报] into 表名(列名,列名。。。。)

values(…),(…),(…); -----向表格一次加入多条信息

写法二:insert [low_priority 降低优先级| delayed 延迟 | hig_priority 提高优先级(只对insert 和select有效) ] [ignore 忽略警报] into 表名

​ set 列名=…,列名=…; ————向指定的列加入信息,其他没有写的列默认为空

写法三:insert [low_priority 降低优先级| delayed 延迟 | hig_priority 提高优先级(只对insert 和select有效) ] [ignore 忽略警报] into 表名

​ select 列名 from 表名 ; ————向表格加入来自其他表的数据

例如:

inser into s

select * from student;

4、修改操作

update [low_peiority] [ignore] 数据表名 set 字段1=值1 [,字段2=值2]

[where ]

[order by 字段 asc/desc ]

[limit 行数]

例如:修改产品表,找到单价最贵的三种产品降价5%

UPDATE products SET Price=Price*0.95
ORDER BY Price DESC
LIMIT 3

5、删除操作

delete [low_prioity] from 表名

[where ]

[order by 字段 asc/desc ]

[limit 行数]

两种不同的删除操作:

delete from 表名 ——删除数据

truncate table 表名 ——清空数据,后drop再create 就是进行重建

SELECT books.name FROM
books JOIN (SELECT rid,COUNT(*)`cou`FROM borrows WHERE valid=1 GROUP BY rid) t1
ON books.id=t1.rid
WHERE quantity<=cou
CREATE DATABASE db1;
USE db1;

db1

EXPLAIN
SELECT * FROM student
WHERE sname='小明'


sales


SELECT *
FROM productnotes
WHERE MATCH(note_text) AGAINST('teacher');

SELECT *
FROM productnotes
WHERE note_text LIKE '%teacher%'
SELECT * FROM table_constraints
WHERE table_name= 'student'    ——查询该表的所有约束



CREATE TABLE s
LIKE student 
UPDATE products SET Price=Price*0.95
ORDER BY Price DESC
LIMIT 3







CREATE DATABASE BookManage

USE BookManage

CREATE TABLE bookTypes
(
id INT PRIMARY KEY,
NAME VARCHAR(20) NOT NULL
);

CREATE TABLE readers
(
id INT PRIMARY KEY,
NAME VARCHAR(20) NOT NULL
);

CREATE TABLE books
(
id INT PRIMARY KEY,
NAME VARCHAR(20) NOT NULL,
price DECIMAL(18,2),
quantity INT,
btype INT REFERENCES booktypes(id)
);

CREATE TABLE borrows
(
rid INT ,
bid INT REFERENCES books(id),
valid BIT(1) NOT NULL,
PRIMARY KEY(rid,bid), 
FOREIGN KEY(rid)REFERENCES readers(id)
);



INSERT INTO booktypes(id,NAME)
 VALUES(1,'历史'),(2,'计算机');

INSERT INTO readers(id,NAME)
 VALUES(1,'张三'),(2,'李四');
 INSERT INTO books(id,NAME,price,quantity,btype)
 VALUES(1,'史记',56.8,2,1),(2,'数据库原理',47.2,3,2);
INSERT INTO borrows
VALUES((SELECT id FROM readers WHERE NAME='张三'),(SELECT id FROM books WHERE NAME='史记'),1),
((SELECT id FROM readers WHERE NAME='李四'),(SELECT id FROM books WHERE NAME='史记'),1);
SELECT * FROM borrows;
SELECT rid,bid ,BIN(valid+0) FROM borrows;

UPDATE borrows
SET valid = 0
WHERE rid=(SELECT id FROM readers WHERE NAME='张三') AND bid=(SELECT id FROM books WHERE NAME='史记' );
VALUES((SELECT id FROM readers WHERE NAME='张三'),(SELECT id FROM books WHERE NAME='数据库原理'),1);

DELETE FROM borrows WHERE rid=(SELECT id FROM readers WHERE NAME='张三');
DELETE FROM readers WHERE NAME ='张三';



SELECT NAME FROM books
INNER JOIN borrows
WHERE (books.quantity- COUNT(valid))<=0
ORDER BY borrows.bid; 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值