Linux数据库Mysql增删改查

从安装数据库到增删改查

复制代码
apt install mariadb-server

Undefined

安装好后初始化

复制代码
mysql_secure_installation

Undefined

查询现有的库

复制代码
show databases;

SQL

进入库

复制代码
use mysql;

Perl

查询表

复制代码
show tables;

SQL

查询表结构

复制代码
desc mysql;

SQL

查询表内容

复制代码
select * from mysql;

C#

查询创建数据库信息

复制代码
select create database mysql;

Lua

查询表创建信息

复制代码
select create table use;

Lua

条件查询

复制代码
select name,age from user where name="wang";

SQL

创建数据库

复制代码
CREATE  DATABASE school

SQL

创建表

复制代码
create table db(id int,name varchar(10),sex enum("m","f"),age int);

SQL

增加数据

复制代码
insert into db(id,name,sex,age) values(1,"wing","m",18); //字符必须引用

C#

安装表字段顺序插入

复制代码
insert into db values(4,"xiaosan","f",10);

SQL

插入新增指定的数据

复制代码
insert into t1 set id=6,math=65; //新增数据可以只插入指定的数据

C#

更新数据

复制代码
update db1 set name="wang" where id=1;   //条件是id

Bash

修改表名

复制代码
rename table db1 to t1;

CSS

添加新字段

复制代码
alter table db1  add job int(10);

SQL

修改数据类型

复制代码
mysql> alter table t1  modify chinese int(5) not null;

SQL

修改名称、数据类型、修饰符

复制代码
mysql> alter table t1 change chinese  china int(6);

SQL

删除表字段

复制代码
alter table db1 drop wang;

SQL

删除表

复制代码
delete table db1;

SQL

删除多张表

复制代码
drop table t1,t2,t3;

SQL

删库

复制代码
drop database 数据库名;

SQL

复制表

复制查询内容

复制代码
create table t10(select * from t3); //创建表的时候把另一个表的内容全部复制来

C#

也可以复制指定查询的字段

复制代码
create table t10(select id,name from t3);

SQL

复制指定查询的表

复制代码
insert into t3 select * from t10 where id=9; //复制指定的表里的指定内容

C#

进阶

进阶创建表

创建表字段

复制代码
CREATE TABLE ces (
  id INT PRIMARY KEY AUTO_INCREMENT NOT NULL,  //主键唯一,id自增,不能为空
  name VARCHAR(20) NOT NULL,
  sex ENUM('male', 'female') DEFAULT 'male' NOT NULL,  //不填默认为
  hir_data DATE NOT NULL,
  post VARCHAR(50),
  job VARCHAR(100),
  gongzhi DOUBLE(15, 2) NOT NULL,
  office INT,
  dep_id INT
);

SQL

进阶插入表字段 按照顺序插入表内容

复制代码
INSERT INTO ces (name, sex, hir_data, post, job, gongzhi, office, dep_id)
VALUES 
('jack', 'male', '2018-02-02', 'instructor', 'teach', 5000, 501, 100),
('tom', 'male', '2018-02-03', 'instructor', 'teach', 5500, 501, 100),
('robin', 'male', '2018-02-02', 'instructor', 'teach', 8000, 501, 100),
('alice', 'female', '2018-02-02', 'instructor', 'teach', 7200, 501, 100),
('wing', 'male', '2018-02-02', 'hr', 'hrcc', 600, 502, 101),
('harry', 'male', '2018-02-02', 'hr', NULL, 6000, 502, 101),
('emma', 'female', '2018-02-06', 'sale', 'salecc', 20000, 503, 102),
('christine', 'female', '2018-02-05', 'sale', 'salecc', 2200, 503, 102),
('zhuzhu', 'male', '2018-02-05', 'sale', NULL, 2200, 503, 102),
('gougou', 'male', '2018-02-05', 'sale', '', 2200, 503, 102);

SQL

进阶查询

条件查询

复制代码
SELECT DISTINCT post  FROM ces;  //不显示重复

SQL

算数

复制代码
SELECT name, gongzhi*2 FROM ces; //工资乘以2

SQL

大于小于

复制代码
select gongzhi from ces where gongzhi>500 and gongzhi<10000

C#

反过来

复制代码
select gongzhi from ces where not gongzhi>5000 ; //工资不大于5000的

C#

匹配字符

复制代码
select gongzhi from ces where gongzhi BETWEEN 2000 AND 5000; //取反也是not

C#

查询为空

复制代码
select job from ces where job is null; //查询为空

C#

复制代码
select job from ces where job is not null;//不为空

C#

按内容查询或

复制代码
SELECT gongzhi FROM ces WHERE salary=4000 OR salary=5000 OR salary=6000 ;

SQL

复制代码
SELECT gongzhi FROM ces WHERE salary IN (4000,5000,6000,9000) ;

SQL

排序

复制代码
SELECT gongzhi FROM ces WHERE order by gongzhi; //从小到大

SQL

复制代码
SELECT gongzhi FROM ces WHERE order by gongzhi desc;//大到小

SQL

按分组查询

复制代码
SELECT dep_id,GROUP_CONCAT(name) FROM ces group by dep_id;

VB.Net

包含查询

复制代码
SELECT * from ces where name like '%J%';//名字里面包含j的

SQL

函数

  • COUNT(): 用于计算指定列或表中的行数。
  • MAX(): 用于找到指定列或表中的最大值。
  • MIN(): 用于找到指定列或表中的最小值。
  • AVG(): 用于计算指定列或表中的平均值。
  • DATABASE(): 用于返回当前数据库的名称。
  • USER(): 用于返回当前用户的名称。
  • NOW(): 用于返回当前日期和时间。
  • SUM(): 用于计算指定列或表中数值的总和。
  • PASSWORD(): 用于对字符串进行加密,通常用于用户密码的存储。
  • MD5(): 用于计算字符串的 MD5 哈希值。
  • SHA1(): 用于计算字符串的 SHA1 哈希值。
  • POWER(): 用于计算一个数的指定次幂。

数据类型

  • 整数 int类型

  • 浮点型 float 单精度 duoble 双精度 decimal 定点型

  • 字符串类型 char varchar 能存放跟多

  • 枚举类型 enum 固定的数只能选一个 set 两个都可以选

  • 日期类型

year 1978年 可以写成 78 2008年 可以写成08

data 2022年3月8号,可以写成如下格式输入给mysql 2022/03/08 2022-03-08

time 050510 05:05:10

权限管理

创建用户

复制代码
create user 'wang'@'%' identified by 'qwer123123';

SQL

授权用户

复制代码
grant all on *.* to 'wang'@'%' identified by 'qwer123';

C#

5.7版本数据库可以直接授权没有的用户,使用授权语句会创建不存在的用户。 删除用户

复制代码
DROP USER  'wang'@'localhost';

SQL

会删除localhost的用户,可以存在其他授权地址的同名用户。 用语句在库里面删除

复制代码
delete from mysql.user where user='wang' AND host='localhost';\

SQL

刷新权限

复制代码
FLUSH PRIVILEGES;

Undefined

查看自己的授权

复制代码
SHOW GRANTS\G

SQL

看其他用户权限

复制代码
SHOW GRANTS FOR admin1@'%'\G  

Kotlin

配置文件设置跳过密码

复制代码
skip-grant-tables

SQL

改用户名

复制代码
RENAME USER old_name TO new_name;

CSS

其他配置以及语句

状态

复制代码
show status; 

Lua

进程列表

复制代码
show processlist;

SQL

相关推荐
Edingbrugh.南空几秒前
Flink MySQL CDC 环境配置与验证
mysql·adb·flink
BD_Marathon36 分钟前
Ubuntu:Mysql服务器
服务器·mysql·ubuntu
想要入门的程序猿44 分钟前
Qt写入excel
数据库·qt·excel
Q_970956391 小时前
java+vue+SpringBoo校园失物招领网站(程序+数据库+报告+部署教程+答辩指导)
java·数据库·vue.js
Wyc724091 小时前
Maven
java·数据库·maven
程序猿小D1 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的电影小说网站管理系统,推荐!
java·数据库·mysql·spring·毕业设计·ssm框架·电影小说网站
羊小猪~~1 小时前
数据库学习笔记(十七)--触发器的使用
数据库·人工智能·后端·sql·深度学习·mysql·考研
CodeWithMe2 小时前
【Note】《深入理解Linux内核》 Chapter 15 :深入理解 Linux 页缓存
linux·spring·缓存
0wioiw02 小时前
Ubuntu基础(监控重启和查找程序)
linux·服务器·ubuntu
Tipriest_2 小时前
Ubuntu常用的软件格式deb, rpm, dmg, AppImage等打包及使用方法
linux·运维·ubuntu