Mysql数据库之基本操作


如果人们既没有思想,又没有信仰,还罔顾事实,那出现什么灾难都不奇怪。

数据库的基本操作包括增删改查,对数据库,数据表,表里的字段、记录进行操作。

这对SQL注入有很大的帮助,一定要学好。

Ax 数据库

/** Information
*     Author: Enomothem
*   Date:   2020-12-17 11:34
*   Update: 2021-01-03 24:00
**/

-- 注释方式1
#  注释方式2
/*
   注释方式3
*/
# 使用数据库
use galaxy;   
# =================
    -- 数据库 --
# =================

-- 增 --
create database galaxy;                       # 新建数据库
create database if not exists galaxy;         # 不存在创建
-- 删 --
drop database galaxy;                         # 删除数据库
-- 改 --
rename database olddbname to newdbname;        # 官方不推荐
-- 查 --
show databases;                           # 查看所有数据库
show create database galaxy;              # 查看创建数据库信息

Bx 数据表

# =================
    -- 数据表 --
# =================

-- 增 --
create table square(id int);              # 创建表,多个表使用,分隔
alter table square CHARSET=utf8;          # 设置字符集
-- 删 --
drop table time;                          # 删除表
-- 改 --
alter table square rename square_rename;  # 改名
rename table square_rename to squared;    # 改名
-- 查 --
show tables;                              # 查看数据库所有表
desc squared;                              # 展示表 
show tables like 'tim%';                  # 模糊查询:% 通配  _ 只能代表一个字符
show table status;                        # 查看数据表属性 
show create table squared;                # 查看创建的表

Cx 字段


# =================
    -- 数据段 --
# =================

-- 增 --
alter table squared add type int;                     # 添加字段,多个字段用,分隔开。
-- 删 --
alter table squared drop type;                       # 删除字段
-- 改 --
alter table squared change test name varchar(32);    # 修改字段
alter table squared modify name varchar(32);         # 修改类型、名不变
alter table squared modify id varchar(32) first;     # 置顶
alter table squared add type int after name;         # 在id后面新建一个type字段
alter table squared modify name smallint after id;   # 修改位置
-- 查 --
show full columns from squared;                      # 查看数据表结构

Dx 数据


# =================
    -- 数据 --
# =================

-- 增 --
insert squared values(1, '关羽', '6666');                # 给所有字段添加记录
insert squared (name,id) values(2,'百里守约');           # 给部分字段添加记录,因为存在允许NULL字段
insert squared (id) value(3);                           # 只添加一个字段
insert squared (type,id) values(66,32768);               # 整形可以填写32768大小的数据
insert squared values(6, '曹操', 888),(7, '小乔'888),(8, '大乔', 1888);    # 给所有字段插入多行数据
insert squared (id,name,type) values(11,'安琪拉',5888),(12,'雅典娜',18888);  # 给部分字段插入多行数据
-- 删 --
delete from time;                                             # 删除表数据
delete from squared where id = '3';                             # 删除记录
delete from squared where type is null;                        # 删除字段值为null的记录
-- 改 --
update squared set id = '22' where id = '11';                  # 修改记录中某些字段值
update squared set id = '30', name = '关羽' where id = 20;       # 修改记录中多个字段值
update squared set id = '30', name = '关羽' where id > 3 && id < 8;  # 修改记录中多个字段值  条件判断
-- 查 --
select * from squared;                                # 查询表中所有字段记录
select id,name from squared;                            # 查询表中部分字段所有记录
select * from squared where id = 6;
select * from squared where id > 3;
select id,name from squared where id > 3;
select id,name from squared where id > 3 || id =2;
select id,name from squared where name = '关羽';
select * from squared where name like '%拉%';                       # 关键字 在中间

insert squared (type,id) values(32768, 4);           # 越界测试:不能通过,因为32768越界
# 使用语句处
update squared set name = '武圣',id = 6 where id = 22;

Ex 联合查询

# =================
    -- 联合查询 --
# =================



-- 子查询 --

select csubject,cscore from cource
where  cnumber = (
select snumber from student where sname = "李军"
);



-- 子查询 --


select csubject,cscore from cource
where cnumber in (
select snumber from student where ssex = "男"
);


-- 内连接 --

select s.snumber,s.sname,s.sclass,c.csubject,c.cscore from student s
inner join cource c on s.snumber = c.cnumber;

文章作者: Enomothem
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Enomothem !
  目录