MySQL基础-常见的增删改查操作语句总结

1.数据库操作

查看所有数据库

show databases;

创建数据库

create database db_stu;
--如果数据库已经存在就不创建
create database if not exists db_stu;
--添加默认字符集
create database db_stu default charset utf8mb4;

删除数据库

drop database db_stu;
--如果存在就删除
drop database if exists db_stu;

使用指定数据库

use db_stu;

查询当前数据库

select database();

2.表操作

查询当前数据库所有表

show tables;

查看表结构

desc student;

查询指定表的建表语句

show create table student;

创建表

#模板
CREATE TABLE table_name (
    column1 datatype constraints,
    column2 datatype constraints,
    ...
) ENGINE=engine_type DEFAULT CHARSET=charset_name COLLATE collation_name;
#ENGINE=engine_type:指定表的存储引擎,如 InnoDB、MyISAM 等。
#DEFAULT CHARSET=charset_name:指定表的默认字符集,如 utf8、latin1 等。
#COLLATE collation_name:指定表的默认校对规则,如 utf8_general_ci、latin1_swedish_ci 等。

#例子  创建一个使用 InnoDB 存储引擎和 utf8 字符集的表
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

给指定表添加字段

alter table student add stu_name varchar(10) comment '学生姓名';

修改表中指定字段数据类型为指定新类型

alter table employee modify salary float; 

修改指定表的字段名和字段类型

alter table employee change nickname username varchar(30) comment '用户名';

删除指定表的字段

alter table student drop stu_score;

修改表名

alter table student rename to stu;

3.添加数据

在这里插入图片描述

给指定字段添加数据

insert into emp(emp_id,emp_name,emp_salary) values(1,'小红',12000);

给全部字段添加数据

insert into emp values(1,'小红',12000);

批量添加数据

insert into emp(emp_id,emp_name,emp_salary) values(1,'小红',12000),(2,'小明',10000),(3,'小强',13000);
insert into emp values(1,'小红',12000),(2,'小明',10000),(3,'小强',13000);

注意:插入数据时,指定的字段顺序需要与值的顺序是一一对应的。

​ 字符串和日期型数据应该包含在引号中。

​ 插入的数据大小,应该在字段的规定范围内。

4.修改数据

在这里插入图片描述

update emp set emp_name = '李华' where emp_id  = 1;

注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

5.删除数据

在这里插入图片描述

delete from emp where emp_gender = '女';

注意:delete语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。

​ delete语句不能删除某一个字段的值(可以使用update)。

6.查询数据

在这里插入图片描述

在这里插入图片描述

select name from emp where salary = 10000;
select * from emp where age < 20;
--查询没有身份证号的员工
select * from emp where idcard is NULL;
--查询有身份证号的员工
select * from emp where idcard is not NULL;
--查询年龄在15岁(包含)到20岁(包含)之间的员工信息
select *from emp where age = 15 and age <= 20;
select * from emp where age between 15 and 20;

注意:用between…and得按照从小到大,不然是错误的

--查询年龄等于18或20或40岁的员工信息
select *from emp where age in(18,20,40);
--查询姓名为两个字的员工信息
select * from emp where name like '_ _';
--查询身份证号最后一位是X的员工信息
select *from emp where idcard like '%X';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习两年半的Javaer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值