MariaDB用法——增删改查

数据库四大护法——增insert、删delete、改update、查select

设置禁用mysql删除语句,防止操作者误删数据

mysql_secure_installation mysql基础安全设置,设置密码

create user '用户名'@'远程主机IP' identified by '密码'; 创建用户

flush privileges;刷新策略

mysql -u用户名 -h主机名或ip -p密码

修改密码1

修改密码2:mysqladmin -uroot -p旧密码 password '新密码'

破解密码

配置文件添加一行授权跳过密码

直接登录后更改mysql库的user表更改后退出还原配置文件重启服务。

mysql < mysql脚本:导入mysql脚本

show databases;查看库

use 库名;进入数据库

show tables;查看表

show character set;查看字符集

select * from 表名;查看表内容 (*表示显示所有列,也可直接写列名显示指定的列)

desc 表名:查看表的状态

show table status like '表名'\G 查看表的详细状态信息

create database 库名:创建库

drop database 库名:删除库

create table 表名 (列名1 数据类型 unsigned不为负数 not null不能为空 primary key主键,列名2 相关属性,……); 创建表

alter table 表名 add 列名1 tinyint(type) after 列名2; 把列名1添加到列名2后

insert 表名 values(5,'zhang',12305,80,'f');在表里添加一条记录

update 表名 set 列名=更改内容 where id=1(条件,可以写该记录的其他列内容,但是一般都会写主键列,主键列内容不会重复防止改错记录);更改表中的信息

delete from 表名 where 主键列='';删除记录

select 列名 as 别名 from 表名

select * from 表名 where 条件;条件查询

select * from 表名 where 列名 like 'z%';模糊查询(%表示任意字符任意次数)

select * from 表名 where 条件1 and 条件2;查找符合条件1并且符合条件2的记录

select avg(列名) from class;求某列的平均值

select 条件(列名) from 表名 group by 列名;分组统计

通常会对性别、地区等有重复性的列分组,并取出改组的记录中成绩、年龄等数值类的列的最大、最小、平均值等操作。

平均值avg(),最大 max(),最小 min(),该列相同记录的和 count(),该列数据的和 sum()

count()和sum():一个对列的数据(数值型)做运算,一个对记录的个数做运算

avg(), max(), min(), count(), sum()为判断条件时where要换成having

多表查询

select s.name as 学生姓名,t.name as 老师姓名 from students as s inner join teachers as t on s.teacherid=t.tid;(内连接)

select s.name as 学生姓名,t.name as 老师姓名 from students as s left outer join teachers as t on s.teacherid=t.tid;(右外连接)

select s.name as 学生姓名,t.name as 老师姓名 from teachers as s right outer join students as t on s.teacherid=t.tid;(左外连接)

select s.name as 学生姓名,t.name as 老师姓名 from students as s left outer join teachers as t on s.teacherid=t.tid and t.name is null;(右内连接)

select s.name as 学生姓名,t.name as 老师姓名 from teachers as t right outer join students as s on s.teacherid=t.tid and t.name is null;(左内连接)

select stuid,name from students union select tid,name from teachers;(伪完全内连接)

select s.name as 学生姓名,t.name as 老师姓名 from teachers as t right outer join students as s on s.teacherid=t.tid union select s.name as studentname,t.name as teachername from teachers as t left outer join students as s on s.teacherid=t.tid;(完全外连接)

猜你喜欢

转载自blog.csdn.net/qq_35242906/article/details/80608919