mysql 基本操作

mysql 基本操作

登陆数据库: mysql -u 用户名 -p || mysql -u 用户名 -p 密码

退出数据库:exti / quit / ctrl+d

提示操作数据库时一定要记得写 ;

数据库本版号:select version();

当前数据库时间 select now();

显示当前数据库: show databases;

创建数据库: create database 数据库名称 charset=utf8;

查看创建数据库语句: show create database 数据库名;

删除数据库:drop database 数据库名;

查看当前使用得数据库:select database();

切换数据库:use 数据库名;

数据库内表操作:

查看所有表:show tables;

创建表:create table 表名(字段 类型 约束,…);

例如: id int primary key not null auto_increment

            字段:id

            类型:int

            设置为主键:  primary key 

            不允许为空:  not null

            是否自动增长:auto_increment

查看表结构:desc 表名;

删除表:drop table 表名;

表结构操作:alter table add/modify/change/drop 表名 字段 类型 约束;

注意 :modify 修改时不该字段名,change修改时改名字,add 添加, drop,删除

数据操作:

插入数据:insert into 表名 values();

部分插入:insert into 表名 (插字列1,插入列2)values(数据1,数据2);

多行插入:insert into 表名 (插字列1,插入列2)values(数据1,数据2),(数据1,数据2);

              insert into 表名 values(),(),();

修改数据:update 表名 set 列=值 where 列=值; # where 后为判断条件,不写默认全部修改

删除操作:物理删除:delete from 表名 where 条件;

              逻辑删除:给表里增加一个是否删除的字段(bit 类型)根据值判断是否删除

查看表数据:

select * from 表名 where 条件; #where 后为条件判断,不写默认查询全部

select 列1 as 别名,列2 as 别名 from 表名 where; # 指定列查询;

select 表名.列名 … from 表名; || select 别名.列名 … from 表名 as 别名;|| select distinct 别名.列名 … from 表名 as 别名;distinct #消除重复

比较运算符:select 列名 from 表名 where >, <, >=, <=, !=, <>, =

逻辑运算符:select 列名 from 表名 where and, or, not,

模糊查询:link, rlink

select 列名 from 表名 where 列名 link “例% ” || 列名 link “__ ” #%替换多个 _替换一个

select 列名 from 表名 where 列名 rlink “正则表达式” #正则匹配

范围查询:in(), between … and …

select 列名 from 表名 where 列名 in (1,2,3) # in 非连续

select 列名 from 表名 where 列名 not in (1,2,3) #不再 非连续

select 列名 from 表名 where 列名 between … and … # 连续的

select 列名 from 表名 where 列名 not between … and … # 不在 连续的

select 列名 from 表名 where not 列名 between … and … # 不在 连续的

判断空: is null

select 列名 from 表名 where 列名 is null;

select 列名 from 表名 where 列名 is not null;

排序:order by 字段 asc 从小到大 desc 从大到小 可以按照多个字段排

select 列名 from 表名 order by 字段 asc(默认) || desc ;

select 列名 from 表名 where …条件 order by asc(默认) || desc ;

select 列名 from 表名 where …条件 order by 字段 desc,字段 ase,字段 desc, … ;

聚合函数:count 总是, max 最大值,min, 最小值 round 四舍五入 , sun 求和,avg 平均值

select count(*) as 别名 from 表名

select max (*) as 别名 from 表名

select min(*) as 别名 from 表名

select sun (*) as 别名 from 表名

select avg (*) as 别名 from 表名

select rount ( sum(列名) / count(*), 2 ) 别名 from 表名

分组:group by

select 列名 from 表名 group by 列名;

注意:聚合与分组混合使用:

select 列名,聚合函数 || group_concat(列名,"", 列名 "" , 列名,"_" ) from 表名 group by 列名 having count(*) > 3; # having 过滤

where 与 having 区别,where 对要查询的数据进行判断,having 对结果进行判断

分页:limit start, count

select 列名 from 表名 where limit = 起始条数,条数;

连接查询:

inner join 内链接 查询交集

select * from 表A inner join 表B on 表A.列名 = 表B.id;

select 表A.*, 表B.name from 表A inner join 表B on 表A.列名 = 表B.id;

select 别名A.*, 别名B.name from 表A as 别名A inner join 表B as 别名B on 表A.列名 = 表B.id;

外连接:找不到就显示null, left join 左连接,right join 右连接,

自关联:

存储的都是地区信息,而且每种信息的数据量有限,没必要增加一个新表,或者将来还要存储区、乡镇信息,都增加新表的开销太大

子查询: 一个select 包含 另一个 select

select * from 表 where 字段 = (select 字段 from 表 where);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值