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

相关推荐
Java探秘者2 分钟前
Maven下载、安装与环境配置详解:从零开始搭建高效Java开发环境
java·开发语言·数据库·spring boot·spring cloud·maven·idea
2301_786964368 分钟前
3、练习常用的HBase Shell命令+HBase 常用的Java API 及应用实例
java·大数据·数据库·分布式·hbase
苹果醋312 分钟前
大模型实战--FastChat一行代码实现部署和各个组件详解
java·运维·spring boot·mysql·nginx
阿维的博客日记1 小时前
图文并茂解释水平分表,垂直分表,水平分库,垂直分库
数据库·分库分表
康熙38bdc1 小时前
Linux 进程优先级
linux·运维·服务器
hhzz1 小时前
Linux Shell编程快速入门以及案例(Linux一键批量启动、停止、重启Jar包Shell脚本)
android·linux·jar
只是有点小怂1 小时前
parted是 Linux 系统中用于管理磁盘分区的命令行工具
linux·运维·服务器
三枪一个麻辣烫2 小时前
linux基础命令
linux·运维·服务器
wrx繁星点点2 小时前
事务的四大特性(ACID)
java·开发语言·数据库
cuisidong19972 小时前
如何在 Kali Linux 上安装 Google Chrome 浏览器
linux·运维·chrome