数据库mysql原生代码基本操作
创建表:
CREATE TABLE `biao` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '测试表',
`createtime` datetime DEFAULT NULL COMMENT '时间',
`title` varchar(10) CHARACTER SET latin1 DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
删除表:
DROP TABLE IF EXISTS `biao`;
DROP TABLE IF EXISTS t1,t2;
显示表结构,简写desc:describe biao
显示表结构语句:show create table biao
修改表名:alter table old rename new
显示表结构:show tables
修改字段类型:alter table biao modify id int(5)
修改表字段,新旧字段一样和modify就一样功能:
ALTER TABLE test ADD qqq VARCHAR(10) DEFAULT '1' NOT NULL
ALTER TABLE test CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123';
删除字段:ALTER TABLE ims_mm DROP ttt
定义主键 primary key
非空 not null
唯一性 unique
默认值 default
自动 auto_increment
函数:
随机数 rand()
连接字符串 concat('中国','打日本')
转换小写 lcase('ABC') lower
转换大写 upper ucase
去除空格 trim(str)
获取日期
curdate()+0 返回20160916
curdate() 2016-09-16
时间
curtime()
日期时间 now()
时间戳
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(now()) 日期转换时间戳
FROM_UNIXTIME( 1539659520) 时间戳转换成日期时间
月份
month('2016-04-28')
季度,1,2,3,4
QUARTER('2016-04-28')
星期
DAYOFWEEK('2016-04-28') 1是星期日
weekday 0是星期1
天数
DAYOFYEAR('2016-04-28') 1-366
年 year
分钟 minute
小时 hour
秒 second
版本version
聚合函数
avg(col) 平均值
count(*) 记录数
min(col) max(col)最小 最大值
sum(col)求和
SET NAMES utf8 设置编码
基本查询
select * from biao
条件
select * from biao where id=1
结果字段不重复
select distinct id from biao
排序,默认升序asc,降序desc
select * from biao order by id;
select * from biao order by id desc ,time asc;
分组,having 限定条件
select * from biao group by sex;
select * from biao group by sex having;
查询条数
select * from biao limit 4 返回4条
select * from biao 4,3 返回3条,从第5条记录开始
内连接两个功能相同
select a,b,c from A inner join B on A.id = B.id;
select a,b,c from A,B where A.id=B.id;
左右连接
select * from A left join B on A.id=B.id;
select * from A right join B on A.id=B.id;
子查询
select id from Table where id2 in(select id3 from Table2)
合并结果集
select * from A union all select * from B
select * from A union select * from B 去重复
表或字段别名
select id as ID from A as a
插入
insert into Table(id,name) values (null,'Li') ;插入数据
insert into T(id,name) values (null,'Li'),(null,"Zhao");
insert into T values (null,"Li",null,"数据");插入所有列
insert into T(id,name) select id,name from T2; 查询插入
insert ignore into Table(id,name) values (null,'Li') ; 唯一索引插入 有效防止重复数据
修改
update T set name='Li' where id=1; 更新
update t set num=num+1 where id=1 自动加一
update T left join T1 on T.id=T1.id set u='1',u1='2' where id=1;多表更新
update T set user=replace(user,'a','a1') 替换表字段
删除
delete from T where id =1;删除
delete from T where id in(1,2,3);删除多条
清空
truncate table test常用的查询:
select * from ims_rank where DATE_SUB(CURDATE(),INTERVAL 7 DAY) <= date(createtime); 七天之前数据 30天
select * from ims_rank where to_days(createtime) =to_days(now()); 今天数据
select * from ims_rank where TO_DAYS( NOW( ) ) -TO_DAYS( createtime) <= 1 昨天今天数据
select * from ims_rank where DATE_FORMAT( createtime,'%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )本月
select * from ims_rank where PERIOD_DIFF( date_format(now( ) , '%Y%m' ) , date_format( createtime, '%Y%m' ) ) =1 上月
select * from ims_rank where YEARWEEK(date_format(createtime,'%Y-%m-%d')) =YEARWEEK(now()); 本周(第一天星期日)
select * from ims_rank where YEARWEEK(date_format(createtime,'%Y-%m-%d')) = YEARWEEK(now())-1; 上周数据
数据库mysql原生代码基本操作的更多相关文章
- 【django后端分离】mysql原生查询命令后,RawQueryset类型的自定义序列化返回json格式
1:设置mysql原生分页 # 监控系统首页显示分页 def MyPagination(limitid,offsetid): limitid =str(limitid) offsetid =str(o ...
- PHP数据库操作:从MySQL原生API到PDO
本文将举详细例子向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的. 为了后面的测试,先建立数据库表test.包含表名user,s ...
- Php连接及读取和写入mysql数据库的常用代码
在这里我总结了常用的PHP连接MySQL数据库以及读取写入数据库的方法,希望能够帮到你,当然也是作为我自己的一个回顾总结. 1.为了更好地设置数据连接,一般会将数据连接所涉及的值定义成变量. $mys ...
- 数据库MySQL的基本操作
1.MySQL数据库的安装: CentOS6上mysql服务端和客户端的安装和启动: #使用yum安装mysql数据库的服务端和客户端 yum install -y mysql mysql-serve ...
- 一个非常标准的连接Mysql数据库的示例代码
一.About Mysql 1.Mysql 优点 体积小.速度快.开放源码.免费 一般中小型网站的开发都选择 MySQL ,最流行的关系型数据库 LAMP / LNMP Linux作为操作系统 Apa ...
- MySQL<数据库和表的基本操作>
数据库和表的基本操作 数据库基础知识 创建数据库 就是在数据库系统中划分一块存储数据的空间 CREATE DATABASE itcast; 查看数据库 SHOW CREATE DATABASE 数据库 ...
- Mariadb/MySQL数据库单表查询基本操作及DML语句
Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...
- 云原生数据库mysql对共享存储分布式文件系统的接口需求分析
1. 引言 云原生数据库跟分布式mpp数据库是有差异的,虽然两者都是计算与存储分离,但是在资源的占用上有所不同.云原生数据库是shard everything架构,其依赖的存储资源.内存资源.事务资源 ...
- MySQL原生API、MySQLi面向过程、MySQLi面向对象、PDO操作MySQL
[转载]http://www.cnblogs.com/52fhy/p/5352304.html 本文将举详细例子向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对 ...
随机推荐
- python实现给定一个数和数组,求数组中两数之和为给定的数
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数.你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], target = ...
- msdn的原版windows下载地址链接
http://msdn.itellyou.cn/ 所有版本的下载地址 进去点左边操作系统
- NT9666X调试log
1.给GSensor_open();前加上打印函数DEBUG_P;打印如下信息: ######## FILE = e:/Project_code/Philips_PanGu/Philips_PanGu ...
- PAT 1085 PAT单位排行
每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜.本题就请你实现这个功能. 输入格式: 输入第一行给出一个正整数 N(≤10^5),即考生人数.随后 N 行,每行按下列格式给出一个考生的信 ...
- PAT 1134 Vertex Cover
A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at le ...
- [bzoj2431][HAOI2009][逆序对数列] (dp计数)
Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成的 数列,可以很容易求出有多少个逆序对数.那么逆 ...
- JUnit基本用法
JUnit的一些注意事项: 测试方法必须使用@Test修饰 测试方法必须使用public void进行修饰,不能带参数 一般使用单元测试会新建一个test目录存放测试代码,在生产部署的时候只需要将te ...
- Spring MVC_Hello World
[Hello World] 步骤: (1)加入jar包, (2)在web.xml中配置DispatcherServlet, (3)加入Spring MVC的配置文件, (4)编写处理请求的处理器,并标 ...
- noip模拟赛 第K小数
[问题描述]有两个正整数数列,元素个数分别为N和M.从两个数列中分别任取一个数相乘,这样一共可以得到N*M个数,询问这N*M个数中第K小数是多少.[输入格式]输入文件名为number.in.输入文件包 ...
- 170611 NOIP模拟赛
第一题没做出来不应该: 第二题不难想,就是写起来很麻烦: 第三题因为学了挺久的splay就直接写的splay,没太在意常数问题,一般情况下,第k值问题主席树是比splay稍快的: 盘子序列 [题目描述 ...