MySql常用语句
1.创建数据库:
create database mydata;(你所要建的数据库名)
2.使用数据库
use mydata;(说明:在使用数据库的前一定要加这个use语句,否则会出现没有数据库被选择)
3.查看所有数据库
show databases;
4.查看该数据库的所有的表名
show tables;
5.删除数据库
drop database mydata;(直接删除数据库,不检查是否存在)
drop database if exists mydata;(删除数据库,如果存在的话,可以避免报错)
6.创建数据库的表
create table users(
id int auto_increment primary key,
username varchar(50) not null,
email varchar(100) not null,
dldate date
);
说明:id: 用户 id,整数类型,自增长,作为主键。dldate:用户登录时间,日期类型。
7.插入数据
insert into users values(1001,'kiki','3569865878@qq.com','2003-1-6');
8.查询数据
--查询用户的所有的信息
select * from users;
-- 从用户的表中查询特定列的所有行
select username,email from users;
-- 添加 ORDER BY 子句,按照某列的升序排序
select * from users order by dldate;
-- 添加 ORDER BY 子句,按照某列的降序排序
select * from users order by dldate desc;
9.where子语句
--选择月收入大于5000的职员
select * from employee where salary>=5000;
--模糊查询用like
_:匹配任意一个字符,% :用于匹配0个或者多个字符
该语句的意思是:选择所有姓氏以k开头的顾客
select * from customers where xing like 'k%';
--In关键字
可以在查询中测试某个列的值是否等于列表中的任何一个值。
该语句的意思是查找所有来自美团的订单,其中有一个订单表 Orders 和一个公司信息表 Companies。
select * from orders where company_id in(select id from companies where company_name='美团';
--between条件
select * from orders where order_date between '2023-1-1'and '2024-5-9'
10.update语句
update 语句可用来修改表中的数据,
update 表名称 set 列名称=新值 where 更新条件;
将邮箱为12356@qq.com的姓名改成“小王”,职位改为主管
update employee set name="小王", status="主管" where email="123456@qq.com"
将所有人的工资加一千元:
update employee set salary=salary+1000;
11.delete语句
delete 和 truncate 仅仅删除表数据,drop 连表数据和表结构一起删除。
delete from 表名称 where 删除条件;
删除 id 为 007 的员工信息: delete from employee where id=007;
删除所有年龄小于 21 岁的数据: delete from employee where age<20;
删除表中的所有数据: delete from employee;
12.union语句
UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据):
*SELECT 列名称 FROM 表名称 UNION SELECT 列名称 FROM 表名称 ORDER BY 列名称;
select country from website union select country from apps order by country;
.SELECT country FROM website:这个查询从 website 表中选择 country 列的所有值。
.UNION:将上述查询的结果与下一个查询的结果合并。
.SELECT country FROM apps:这个查询从 apps 表中选择 country 列的所有值。
.ORDER BY country:对最终合并后的结果集按照 country 列的值进行升序排序。
UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据):
*SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称;
13.Group语句
1.GROUP BY 语句根据一个或多个列对结果集进行分组。在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。它能够提供有用的汇总信息。
2.使用 GROUP BY 语句 将数据表按名字进行分组,并统计每个人有多少条记录:
select name,count(*) from employee group by name;