MySQL常用语句

MySQL常用语句

心专才能绣得花,心静才能织得麻。书山有路勤为径,学海无涯苦作舟。

库的相关操作:

create database (数据库名); #创建数据库
show databases; #查看已拥有的数据库
use (数据库名) #使用该数据库
show tables; #查看该数据库下已拥有的表
drop database (数据库名); #删除该数据库

表的相关操作:

创建表:

create table (表名)(列名称1 数据类型 约束,列名称2 数据类型 约束,列名称3 数据类型 约束,....); #创建表

查看表的基本信息:

show create table (表名) #查看表的基本信息
desc (表名) #查看表的基本结构

删除表

drop table (表名); #删除该表(可通过日志恢复)
truncate table(表名); #删除该表(不可通过日志恢复)

修改表(用Student表演示)

alter table Student modify Sname varchar(25); #这里修改了Student表Sname的数据类型

alter table Student add Sclass varchar(20); #这里添加了一个Scalss字段

alter table Student drop column(可加可不加) Sclass; #这里把新加的字段进行删除

alter table Student change Sclass Stel varchar(20); #这里把Sclass改名为Stel

alter table Student rename SC; #这里把表名Student改为Sc

插入的顺序问题用

alter table user add age varchar(20) first; #插在第一行
alter table user add sex varchar(20) after (你要插在谁后面);

记录的相关操作:

插入记录(用Student表演示)

insert into Student(Sno,Sname,Sage,Ssex) values("10001","张三",19,"男"); #方法一

insert into Student values("10002","李四",22,"男"); #方法二

insert into Student(Sno,Sname,Sage,Ssex) values("10003","王五",20,"男"),("10004","赵六",21,"男"); #方法三(多条一起添加)

更新(修改)记录

update Student set Sage = 21 where Sno="10001" #把学号为10001的学生年龄改为21

删除记录

delete from Student where Sno = '10001' #把学号为10001的学生的记录删除

delete from Student #删除表中的所有记录

查询记录(这是重点)

普通查询:select (字段名) from (表面);

select name from user;#在user表里面查询name

select name,age from user;#在user表里面查询name,age

select * from user;#查询user表里面的所有信息

去重

select distinct age from user;#去除重复值

条件查询

select * from user where id=2;#查询id为2的信息

select * from user where age between 30 and 40;#查询年龄在30到40岁人的所有信息

select *from user where age =30 or age =40;#查询年龄为30或者40岁的人的所有信息

select *from user where age !=30 ;#查询年龄不等于30岁的人的所有信息 '<>'也为不等于

select *from user where age in(30,40) ;#查询年龄为30或者40岁的人的所有信息

select * from uesr where age is null; #查询user表年龄为null的所有数据

select * from uesr where age is not null; #查询user表年龄不为为null的所有数据

模糊查询

select *from user where name like '刘%';#查询名字姓氏为刘的所有人的信息

select *from user where name like '%伟%';#查询所有名字带伟的人的信息

升降序查询

select * from user order by age;#按年龄排序(升序)或者在后面加asc

select * from user order by age desc;#按年龄排序(降序)

分页

下标从0开始

select * from user limit 5,3;#取从下标为5的记录开始往后面的3条记录的信息

select * from user limit 5;#取前5条记录的信息

分组

select * from user group by age;#查询去除重复的年龄的所有信息(分组)

统计

select count<*> from user; #查询一共有几条数据

取别名

select name as na from user;#给name取别名na并查询他的所有信息

多表查询

select sname ,cname from student inner join cs on student.id = cs.id;#在两张表之间查询(内联)

select student.sname from student left join cs on student.id = cs.id;#左链接 以左边为基准

select student.sname from student right join cs on student.id = cs.id; #右连接 以右边为基准

select *from student where id in (select id from cs);#嵌套查询

select *from student where id in (1,2,3);#和上面结果一样

posted @ 2021-07-31 16:02  贪玩的阿柒  阅读(188)  评论(0编辑  收藏  举报