标签 MySQL 下的文章 - 一个CTFer的小窝
首页
状态
友链
留言
追番
更多
视频
搜 索
1
Docker常用命令
56 阅读
2
Jet全家桶和Navicat激活(仅可用于学生学习使用)
43 阅读
3
CTF show web入门之文件上传
39 阅读
4
华为交换机&路由器命令
37 阅读
5
软考基本知识
33 阅读
CTF
SQL注入
文件漏洞
PHP特性
命令执行
云存储
云网络
Linux
kali
OpenWrt
登录
搜 索
标签搜索
MySQL
数据库
DNS
根服务器
根节点
软件
激活
HVV
云安全
网络安全
W1lsp0
累计撰写
24
篇文章
累计收到
2
条评论
首页
栏目
CTF
SQL注入
文件漏洞
PHP特性
命令执行
云存储
云网络
Linux
kali
OpenWrt
页面
状态
友链
留言
追番
视频
用户登录
登录
找到
1
篇与
MySQL
相关的结果
2024-03-24
MySQL常用指令
create,创建数据库CREATE TABLE USER ( id INT PRIMARY KEY, age INT, NAME VARCHAR ( 255 ));schema,等同数据库-- 翻译过来是在MySQL中,schema实际上等同于database。你可以用关键字SCHEMA代替MySQL SQL语法中的DATABASE,例如用CREATE SCHEMA代替CREATE DATABASE。 CREATE SCHEMA Learn; # 相当于创建一个数据库drop,删除表-- 删除一个表,CASCADE:如果有外键一并删除。删除模式:CASCADE(删除模式的同时删除所有的数据库对象) 或者 RESTRICT(该模式有下属对象,例如表视图就拒绝这个删除语句的执行) DROP TABLE USER CASCADE;alter ,修改表ALTER TABLE student ADD S_entrance DATE; ALTER TABLE student CHANGE COLUMN Sage Sage INT; # 修改表中某个字段数据类型 -- >alter table 表名称 change 字段原名称 字段新名称 字段类型 [是否允许非空]; index,索引CREATE UNIQUE INDEX Stusno ON student(Sno); -- unique唯一索引,cluster聚簇索引 ALTER TABLE student RENAME INDEX stusno TO STSno; -- 修改索引名字 ALTER TABLE student DROP INDEX stsno; -- 删除索引select,查询SELECT * FROM course; -- 查询所有的 SELECT Cno,Cpno FROM course; -- 查询部分字段 SELECT Sname 姓名,Sage as 年龄 FROM student -- 别名 SELECT DISTINCT Cname FROM course; -- 结果去重条件查询SELECT * FROM sc WHERE Grade > 20; SELECT * FROM sc WHERE Grade BETWEEN 80 AND 90; SELECT * FROM sc WHERE Grade in (80); -- 查询集合 SELECT * FROM sc WHERE Sno LIKE "2012%1" ; -- 模糊匹配,要查询的字符串本身含有通配符%或者_,这个时候使用\进行转义 SELECT * FROM sc ORDER BY Grade DESC; -- 从大到小排序,去掉desc就是反过来聚集函数count(*) -- 统计元祖个数 count sum avg max min,都可以使用distinct去除列里重复的,all可以统计全部、 SELECT COUNT(Cname) FROM course; SELECT COUNT(DISTINCT Cname) FROM course; SELECT Sno,COUNT(*) FROM sc GROUP BY Sno; SELECT Sno FROM sc GROUP BY Sno HAVING Sno="2%"; having 进行分组连接SELECT t.*,c.* FROM edu_teacher t,edu_course c WHERE t.id=c.teacher_id; -- 非等值连接,以where为关键词 SELECT c1.version,c2.version FROM edu_course c1,edu_course c2 WHERE c1.version=c2.version; -- 自身与自身连接,为本身的这个表起两个别名 SELECT student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM student LEFT [OUTER] JOIN sc ON (student.Sno=sc.Sno); # left join(左连接)会返回左表中的所有行,即使在右表中没有匹配的行。如果右表中没有匹配的行,则相应的列会用空值(null)填充。这种连接方式可以显示左表中的所有信息,即使这些信息在右表中没有对应的记录。 多表查询SELECT c.id ID,c.title 课程名 FROM edu_course c,edu_chapter cp; 嵌套查询SELECT * FROM edu_course c WHERE c.title in (SELECT edu_course.title FROM edu_course WHERE edu_course.title LIKE 'j%') # 后面跟着集合带有any,all ,exit,no exit的子查询# any 查询记过中的某个值 all 查询结果中的所有值联合查询,unionSELECT * FROM student WHERE Sdept='CS' UNION SELECT * FROM student WHERE Sage >19; # 查询列数必须保持一致 # 列值类型和顺序最好保持一致 # UNION 默认去重 , 可以使用UNION ALL数据插入 修改 删除CREATE TABLE test(id int, name VARCHAR(20),age int); -- 添加 INSERT INTO test (id,name,age)VALUES(0,12,22); -- 标准添加 INSERT INTO test(name,id)VALUES(13,1); -- 部分字段添加 INSERT INTO test VALUE(2,12,12); -- 不指定添加 -- 修改 UPDATE test SET id=12 WHERE id=0 -- 删除 DELETE FROM test WHERE id=12;视图虚表,即一组数据的逻辑标识,其本质是一条select语句,结果集被赋予一个名字,即视图名字-- 创建视图 CREATE VIEW IS_Student AS SELECT Sno,Sname FROM student WHERE Sdept='IS' -- 查询视图 SELECT * FROM is_student -- 删除视图,级联删除 DROP VIEW IS_Student CASCADE -- 防止用户对不属于视图范围的操作进行拒绝,对该视图进行操作时,会自动加上 Sdept='IS'的条件 CREATE VIEW IS_Student as SELECT Sno,Sname,Sage FROM student WHERE Sdept='IS' WITH CHECK OPTION -- 更新视图,因为视图是不存在的,所以对是视图的操作最终反映到基本表的操作数据库的安全性-- 加上 with grant option可以吧权限授予其他用户 GRANT 权限 ON 表名[(列名)] TO 用户 WITH GRANT OPTION REVOKE -- 回收权限
2024年03月24日
18 阅读
1 评论
1 点赞