数据库-基操

MySQL的基本操作

创建数据库

create database 数据库名;
create database 数据库名
default character set 字符集 collate 排序规则;

使用数据库  

use 数据库名;

删除数据库

drop database 数据库名;
-- 存在就删除
drop database if exists 数据库;  

案例:
-- 删除数据库
drop database if exists testdb;
-- 创建数据库
create database testdb
default character set utf8mb4 collate utf8mb4_general_ci;
-- 使用数据库
use testdb;

 创建表

create table 表名
(
    字段名 数据类型(长度) [约束],
    字段名 数据类型(长度) [约束],
    字段名 数据类型(长度) [约束]
);

create table student
(
    stu_id int primary key auto_increment,
    stu_name varchar(20) not null,
    stu_age int not null,
    stu_gender varchar(1) not null,
    stu_address varchar(255)
);

 删除表

drop table 表名;
drop table if exists 表名;

-- 修改表
alter table student add COLUMN stu_phone varchar(11);
alter table student drop column stu_phone;
-- 查看表结构
desc student; 

 数据操作语言,包含增删改

insert语句

单行插入

insert into 表名(列名,列名,列名,列名) values(值,值,值,值);

多行插入

insert into 表名(列名,列名,列名,列名) values(值,值,值,值),(值,值,值,值),(值,值,值,值),(值,值,值,值);

查询另一表数据,全部插入另一个表

insert into 表1(列名,列名,列名,列名) select 列名,列名,列名,列名 from 表2;

 注意:

1. 列和值顺序、个数、类型都要一致
2. 自动增长的列不用插入
3. 列可以省略,需要插入所有列
4. 非空的列必须要插入

update语句

-- 修改

update 表名 set 列 = 值,列 = 值,列 = 值 where 条件

-- 修改数据
update student set stu_gender = '女' where stu_id % 2 = 1;
update student set stu_age = stu_age + 1 where stu_gender = '男';

delete语句

--语法

delete from 表名 [where 条件];

--清空表(效率高)

truncate table 表名;

-- 删除数据
delete from student where stu_id = 9;

-- 清空表
truncate table person;

基本的查询

-- 查询所有的行和列
select * from student;
-- 查询部分列
select stu_id,stu_name from student;
-- 查询给列设置别名
select stu_id 编号,stu_name 姓名 from student;

条件查询

单个条件
select * from student where stu_age > 25;

OR

条件1 OR 条件2

select * from student where stu_address = '武汉' OR stu_address = '上海';

AND

条件1 AND 条件2

select * from student where stu_age >= 25 and stu_age <= 27;

 

IN

-- IN(值,值...)

select * from student where stu_address in ('武汉','上海');

BETWEEN

-- between 值1 and 值2

select * from student where stu_age between 25 and 27;

 

模糊查询

-- 查询非精确的条件  -- LIKE '带通配符的值'

通配符:

  • % 匹配任意长度的字符

  • _ 匹配任意一个字符

-- 查询姓张的学生
select * from student where stu_name like '张%';
-- 查询地址中有海字的
select * from student where stu_address like '%海%';

 查找空值

-- 查找地址为null的
select * from student where stu_address is null;
-- 查找地址不为null的
select * from student where stu_address is not null;

排序
-- order by 列 -- | -- 升序 asc 默认-- | -- 降序 desc

 -- 按年龄排序
select * from student order by stu_age asc;
select * from student order by stu_age desc;
select * from student where stu_gender = '男' order by stu_age;


-- 多列排序
select * from student order by stu_age,stu_id desc;

 

分页查询

--对返回结果的行数进行限制

--limit 开始位置, 长度          --limit 长度

-- 年龄最大的2个学生
select * from student order by stu_age desc limit 2;


-- 分页查询学生,每次显示5个学生
select * from student limit 0,5;
select * from student limit 5,5;
select * from student limit 10,5;
select * from student limit 15,5;

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值