学数据库这么久了,必须要掌握的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 user where name like '刘%';#查询名字姓氏为刘的所有人的信息

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

升降序查询

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

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

分页

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);#和上面结果一样

标签: [数据库]

(0)

相关推荐