一.数据库操作
1.查看所有数据库 show databases;
2.切换到某个数据库 use xxx;(数据库名)
3.查看某个数据库中所有的表 show tables;
4.删除数据库 drop database test(数据库名)
5.创建数据库 create database test(数据库名)
二.表操作
1.创建表 create table xxx;(表名)
表中的字段 ( xxx varchar(20));
2.显示表结构 describe human;
3.往表中添加字段 alter table human(表名) add humanSex(添加的字段) varchar(10);
4.从表中删除字段 alter table human(表名) drop humanBirthday;(要删除的字段)
5.改表中的字段名 alter table human(表名) change humanEmail(修改前的字段名) humanAddress(修改后的字段名) varchar(50);
6.修改表名 alter table human(修改前的表名) rename person;(修改后的表名)
7.删除表 drop table human(要删除的表名)
8.给表添加主键名 alter table test add primary key(userName);
注意添加了主键名的属性,只能唯一,不能出现重复
三.表的基础操作(增,删,改,查)
1.往表中插入/增加数据,可插入单条数据,也可批量插入数据
insert into test(x1,x2,x3) values ('zzz','111','111@qq.com');
insert into test values('') 注:这种插入数据没有指明表中的属性,值必须插入所有的字段,否则会报错,并且还要按字段中的顺序来填写
批量数据插入:
insert into test(x1,x2,x3)
values ('zzz','111','111@qq.com'),
('xxx','222','222@qq.com'),
('ccc','333','333@qq.com');
2.修改表中数据,updata,这个语句要慎重使用,如果修改的后面不加条件会导致整个表中这个字段所有的值都被修改
update test set oneFormation = 'good boy' where oneId = '111';
update test set oneFormation = 'good boy' where oneId = '111' or oneId = '222';
update test set oneFormation = 'good boy' where oneId = '111' and oneId = '222'; 这种就不会修改,应该不会存在一个值同时满足两个条件的情况
3.查询表中数据,select
1.select * from test; 查询整张表的所有内容
2.select * from test where userName = 'zxd'; 可以根据条件进行查询
范围查询: select * from test where oneId between 222 and 555;
模糊查询: select * from test where oneName like '%c';
使用max(最大)、min(最小)、avg(平均)、sum(求和)、count(总数)
示例: select max(oneId) from test;
嵌套查询:
3.在使用查询语句时,可以根据表中的属性名来显示需要的数据
select oneName,oneId,oneEmail from test where oneFormation = 'good girl';
4.排序,order by : 升序 asc 降序 desc
select * from test order by oneId asc;
5.分组 group by ,有相同元素的当做同一个组
select * from test group by oneFormation;
6.控制显示 limit,拿到指定的数据量
select * from test limit 3;
控制显示与排序组合使用
select * from test order by oneId desc limit 2;
指定从第几条数据开始,拿多少条数据
select * from test limit 2,3; 注意是从0开始的,012345,后面的3是拿3条数据
四.数据库高级操作
1.全链接 full join
第一个表的每个值跟第二个表的值做组合
select * from one full join two;
2.左链接 left join
on后面跟需要匹配的两张表的字段
两张表相同的值,以第一张表为基准,与第二张表来匹配,如没有对应的值则显示null
select * from one left join two on one.oneId = two.twoId;
3.右链接 right join
与左链接的操作一样,但是实现的效果正好相反
select * from one right join two on one.oneId = two.twoId;
4.内链接 inner join
匹配两张表某个字段相同的值
select * from one inner join two on one.oneId = two.twoId;