Mysql基础篇

😄Mysql基础

启动服务:net start (服务名)

关闭服务:net stop (服务名)

连接数据库:mysql -u (用户名) -p (密码)

常用命令:

use xxxx; 进入到xxxx库中。

show database; 查看当前连接下所有库。

show tables from xxxx; 查看xxxx库中的表。

show tables; 查看当前库中的表。

select database(); 查看自己在哪个库。

Desc xxx; 查看表的结构。

select version(); 查看版本。

函数:

字符函数:

length();

concat(); 拼接n个字符(串)。

upper();lower(); 转大小写。

substr(str,pos); 从第pos开始截到最后。

substr(str,pos,len); 从第pos开始截len长度。

instr(str1,str2); 返回子串第一次出现的下标,如果没有就返0。

trim(); 去掉前后的空格。

trim(str1 from str); 去掉str中的str1。

Lpad(str,len,char); 从左边填充len个char字符。

Rpad(str,len,char); 从右边填充len个char字符。

replace(str,from_str,to_str); 把str中的from_str替换成to_str。

数学函数:

round(double); 四舍五入。

round(double,len); 四舍五入,保留len位。

truncate(double,len); 直接截断,保留len位。

ceil(double); 向上取整。

float(double); 向下取整。

mod(int,int); 取余。

日期函数:

now(); 获取当前日期时间,如:2020-04-16 19:04:05。

curdate(); 获取当前日期,如:2020-04-16。

cuitime(); 获取当前时间,如:19:04:05。

year(now()); 获取当前年份,如:2020。类似的方法还有month,day,hour,minute,second。

str_to_date('2008-4-2 15:3:28','%Y-%m-%d %H:%i:%s'); 把字符串转换成date格式。

Date_format(now(),’%y年%c月%d日’); 把date类型转成字符串。

Datediff(date a,date b); 返回相差的天数。

流程控制函数:

if(ex1,ex2,ex3); 功能同?:表达式。

case when then else;

分组函数:

count(); 计算非空的个数。

sum();average(); 计算数值型的。

max();min(); 可以计算任何类型。

sql99语法:

内连接:取交集

等值连接,非等值连接,自连接。

 

外连接:

左外连接:左边的是主表。

    

右外连接:右边的是主表。

 

全外连接:mysql暂时不支持。

交叉连接:

cross join on 就是笛卡尔积。

DML:

create table 表名

insert into 表名 values() null的字段不能省,一一对应。

update 表名 set 字段=xxx where ...

delete from 表名 where ...

DDL:

建表/库,删表/库前用if exits判断

create database/table 库/表名 建库/表

drop database/table 库/表名 删除库/表名

alter table 表名 add/change/modify/drop column 字段 约束 添加/修改字段名和约束,修改字段类 型和约束,删除列。

基本数据类型:

int 4字节 32位。

float(D,M) 4字节 D是整数和小数的总位数,M是小数的位数,超出就变成临界值。

char(M) 固定空间,效率高。

varchar(M) 弹性空间,效率低。

约束:

Primary Key 主键,唯一。

unique 唯一键,可以有多个。

foreign key xx reference xx 外键引用,一般用表添加。

not null 非空键。

添加修改删除如上DDL中alter。

posted @ 2020-04-15 21:09  Xiao-zhi  阅读(129)  评论(0)    收藏  举报