Mysql数据库常用语句

本文汇总了数据库操作中的常见SQL语句,包括表结构的修改、数据的增删改查等实用技巧。适用于初学者快速上手及进阶用户的日常查询需求。

刚开始学数据库的时候,遇到不会的就去百度,后面慢慢总结了些常用的语句,分享出来,也当是给自己留个笔记,没事建个表查一查,还是挺有意思的呀
1.修改表名

rename table name1 to name2;

2.修改字符编码

alter table t_user_friend convert to character set utf8;

3.修改某个字段类型

alter table tablename modify 字段 字段类型;

4.查看数据库编码

使用 show variables like 'character%' 查看数据库的编码

5.将某个字段设置为主键

alter table phone add primary key(id);

6.修改一个字段

alter table user MODIFY new1 VARCHAR(10);  //修改一个字段的类型

alter table user CHANGE new1 new4 int;  //修改一个字段的名称,此时一定要重新指定该字段的类型

7.增加一个字段

alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认为空
alter table user add COLUMN new2 VARCHAR(20) NOT NULL;  //增加一个字段,默认不能为空
alter table tableName add newColumn varchar(8) comment ""; //增加一个字段带注释

8.删除一个字段

alter table user DROP COLUMN new2;   //删除一个字段

mysql>  insert into phone(id,PhoneName,PhoneModel,ScreenSize,category,PhoneSystem,size,owner) values(58,"iphone","iphone6","","ios","ios10","","李三思 ");

9.删除某条数据

Delete from tablename where id=2;

10.更新某条数据的值

update phone set size="1920*1080" where id=2;

11.修改字段名

alter table phone change res ScreenSize varchar(50);

12.修改字段位置

ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST | AFTER 字段名2;

alter table phone modify PhoneName varchar(50) after id;

13.为已有字段添加约束

alter table phone add unique(id);

14.查看数据表结构

desc tablename;

15.查询数据库

1.查询表中所有数据
select * from tablename;

2.查询表中所有语句,并排序
select * from `phone` order by id;//默认顺序查询
select * from `phone` order by id desc;//倒序查询

3.带in关键字查询
select * from `phone` where OWNER not in ("李三思");//除了李三思以外的所有人(如果去掉not,括号里有什么就查什么)

4.带between的查询
select * from `phone` where id between 5 and 10;//查询id在5和10之间的所有数据

5.模糊查询
select * from `phone` where Owner like "%李%";//查询所有含有“李”的Owner

select * from `phone` where Owner like "%思";//查询所有以“思”结尾的Owner

select * from `phone` where Owner like "李%";//查询所有以“李”开头的Owner

6.带and与or的查询
select * from `phone` where PhoneName="三星" or  PhoneName="小米";//查看名字为三星或小米的手机
select * from `phone` where PhoneName="三星"  and Owner="李三思";//查看李三思名下的手机

7.带limit查询
select * from `phone` limit 2,5;//查询phone表中,位置以2开始的5条数据(起始位置为0)

8.备份表结构(新表不具备旧表 primary key、auto_increment等属性,需要对新表再次设置)
create table service_data_backup select * from service_data where 1=2;
9.查询当天数据

select create_time from unit_case_result where to_days(create_time) >= to_days(now());

10.查询昨天数据

select count(*) from unit_case_result where to_days(NOW()) - TO_DAYS(create_time) =1;

11.查询过去x天的数据,下面是查询出过去所有创建时间为两天内的数据,如果要查七天,INTERVAL 7 DAY

select count(*) from unit_case_result where date_sub(CURDATE(),INTERVAL 2 DAY) < DATE(create_time);

12.查询本周数据

#默认从周日开始
SELECT create_time FROM unit_case_result WHERE YEARWEEK(date_format(create_time,’%Y-%m-%d’)) = YEARWEEK(now());

#1表示一周为从周一到周日
select create_time from unit_case_result where yearweek(date_format(create_time,’%Y-%m-%d’),1)=yearweek(now(),1)

13.查询上周数据

SELECT create_time FROM unit_case_result WHERE YEARWEEK(date_format(create_time,’%Y-%m-%d’)) = YEARWEEK(now())-1;

14. 查询数据库中数字,以文字显示

select case isDel when 0 then ‘否’ when 1 then ‘是’ end as 是否删除 from service_data

15.查询不同类型的appkey的数量/appkey

select count(distinct appkey) from unit_case_result

select distinct appkey from unit_case_result

16.count(*),count(1)与count(col)

count() 函数返回表中的记录数,包含NULL
count(1),同count(
),一般来说区别不大
count(col),返回某一列不为空的记录数

17.navicate 在windows下的快捷键

常用快捷键:
1.ctrl+q           打开查询窗口
2.ctrl+/            注释sql语句
3.ctrl+shift +/  解除注释
4.ctrl+r           运行查询窗口的sql语句
5.ctrl+shift+r   只运行选中的sql语句
6.F6               打开一个mysql命令行窗口
7.ctrl+l            删除一行
8.ctrl+n           新建表
9.ctrl+w          关闭一个查询窗口
10.ctrl+s         保存
11.ctrl+o         打开表
12.F6进入mysql命令列界面

参考:按时间段查询
https://blog.youkuaiyun.com/ls1645/article/details/79118464

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值