• mysql基础知识


    1.基础常用命令

    mysql -uroot -p密码;(也可以不带密码,之后输入) 本地登录

    mysql -h 登录ip -p 端口(通常3306) -uroot -p密码; 远程登录

    desc 表名;查看表的各个字段的属性,以及自增键

    mysqldump -u用户  -p 数据库名 > xx.sql; 导出数据库文件,保存

    mysql -u用户 -p密码  数据库名< xx.sql;导入数据库文件(也可以选择登录进去,在选择数据库后,使用source命令导入数据)

    2.创建命令

    create user '用户名' @'ip' identified by '密码';  创建用户

    ip是指用户登录mysql的电脑ip,可以写%,本地写localhost

    grant 权限(select/insert/updata/all priveleges) on 表/数据库名 to '用户'@'ip' identified by '密码'; 用户授权

    drop user 用户名@ip  删除用户

    show databases;    查数据库

    show tables;      看表

    create database 数据库名 default charset utf8;      创建数据库

    create table 表名(列名 数据类型 约束···,列名 数据类型 约束···)engine=innodb default charset=utf8   创建表

    其中数据类型种类 数字(int,tinyint,smallint,float,double),字符串(char(个数)varchar(个数))时间(DATE,TIME,DATETIME),枚举enum(值只能是枚举中的元素),集合set(值只能是结合元素的组合)

    create table 表名(列名 数据类型 primary key auto_increment,列名 数据类型 约束···)engine=innodb default charset=utf8 创建含主键的表

    create table 表名(列名 数据类型 primary key,列名 数据类型 constraint fk_外键名 foreign key (列名[,]) references 表名2(列名[,])···)engine=innodb default charset=utf8  创建含外键的表

    2.查表命令

    条件查询

    select * from 表名;

    select 列名···from 表名;

    select 列名 from 表名 where 列名(id等) >/</!= value;

    select 列名,常量 from 表名; 增加一个常量列

    select 列名 from 表名 where 列名 in/not in/between and value;

    select 列名 from 表名 where 条件1 and 条件2;

    特殊的:select 列名 from 表名 where 列名 in (select 列名(只能一列) from 表名);

    select 列名 from 表名 where 列名 like 'xx%'/'%xx'/"xx_"; 查询以xx开头/xx结尾      %代表任意位,_代表一位

    select xx,(select xx from ...) from .....  查询条件做常量值

    分页

    select 列名 from 表名 limit num; 显示num个

    select 列名 from 表名 limit num1,num2;从num1后取num2行数据,num1是起始位置,num2是个数

    select 列名 from 表名 limit num1 offset num2;从num2后取num1行数据,num2是起始位置,num1是个数

    排序

    select * from 表名 order by 列名 desc;从大到小排序

    select * from 表名 order by 列名 asc;从小到大排序

    select * from 表名 order by 列名1 desc 列名2 asc; 首先遵循列1从大到小排序,遇到相同数据时,按列2从小到大排序

    分组操作

    select count/sum/max/min/avg(列名1),列名2 from 表名 group by 列名(通常是列名2);分组操作 

    select count/sum/max/min/avg(列名1),列名2 from 表名 group by 列名(通常是列名2)having 条件;分组操作后筛选

    连表操作

    select * from 表1 left join 表2 on 表1.列名=表2.列名;  左连接

    select * from 表1 right join 表2 on 表1.列名=表2.列名;  右连接

    select * from 表1 inner join 表2 on 表1.列名=表2.列名;  内连接

    注意:如果超过3个表联合操作,如果其中两个表操作时已经改变了表结构,应该将这两个表操作的结果作为一个临时表再与第三个表联合操作。

    临时表

    (select * from 表名)as e

    3.删除,修改,插入命令

    插入

    insert into 表名(列名1,列名2···) values(值1,值2···),(值1,值2···),(值1,值2···);  插入值

    insert into 表名1(列名) select 列名 from 表2; 在一个表中插入另一个表中数据

    修改

    update 表名 set 列名1=value1,列名2=value2 where 条件1 [and/or 条件2];

    删除

    delete from 表名; 清除表(如果有自增id,id 不会重新开始)

    delete from 表名 where 条件; 清除特定数据

    truncate table 表名;清除表(如果有自增id,id 会重新开始)

    4.修改表结构

    alter table 表名 auto_increment=value;设置自增键起始值;

    alter table 表名 drop 列名;删除列

    alter table 表名 add 列名 数据类型 约束; 增加列

    alter table 表名 change 旧列名 新列名 数据类型;   修改字段类型

    alter table 表名 modify 列名 数据类型;   修改数据类型

    alter table 旧表名 rename 新表名; 修改表名

    alter table 表名 drop primary key; 删除表中主键

    alter table 表名 add 列名 数据类型 primary key;添加主键

    alter table 表名 add primary key(列名);设置主键

    alter table 表名 add column 列名 数据类型 after 列名;在某一列后添加主键

     
  • 相关阅读:
    mysql常用基本命令
    mysql8.0.13下载与安装图文教程
    k8s ingress 增加跨域配置
    Jenkins 备份恢复插件 thinBackup 使用
    k8s HA master 节点宕机修复
    nginx 跨域问题解决
    mongodb 3.4.24 主从复制
    k8s 线上安装 jenkins并结合 jenkinsfile 实现 helm 自动化部署
    k8s helm 运用与自建helm仓库chartmuseum
    centos6 源码安装 unzip
  • 原文地址:https://www.cnblogs.com/wenyeqing/p/13618878.html
Copyright © 2020-2023  润新知