sql数据库:数据表的行/列操作基础, 增删改查
插入(insert)
insert into 表名 values(值1),(值2),...;
insert into 表名(字段1,...) values(值1),...;
(可以插入一条记录; 也可以一步插入多条用逗号间隔开的记录; 还可以只插入对应的字段)
e.g.
insert into class_1 values (2,'Baron',10,'m',91),(3,'Jame',9,'m',90);
查询(select)
select * from 表名 [where 条件];
select 字段1,字段2 from 表名 [where 条件];
e.g.
select * from class_1;
select name,age from class_1;
where子句
where子句在sql语句中扮演了重要角色,主要通过一定的运算条件进行数据的筛选
MySQL 主要有以下几种运算符:
算术运算符
比较运算符
逻辑运算符
位运算符
1. 算数运算符
加/减/乘/除/取余/
e.g.
select * from class_1 where age % 2 = 0;
2. 比较运算符
大于,小于,等于, 大等,小等,不等,between,not between,in, not in, like, regexp正则匹配, is NULL ,is not NULL
e.g.
select * from class_1 where age > 8;
select * from class_1 where between 8 and 10;
select * from class_1 where age in (8,9);
3. 逻辑运算符
not, and, or, xor
e.g.
select * from class_1 where sex='m' and age>9;
4. 位运算符
&按位与, |按位或, ^按位异或, !按位取反, <<左移, >>右移
更新表记录(update)
update 表名 set 字段1=值1,字段2=值2,... where 条件;
**注意:update语句后如果不加where条件,所有记录全部更新**
e.g.
update class_1 set age=11 where name='Abby';
删除表记录(delete)
delete from 表名 where 条件;
注意:delete语句后如果不加where条件,所有记录全部清空
e.g.
delete from class_1 where name='Abby';
表字段的操作(alter)
语法 :alter table 表名 执行动作;
* 添加字段(add)
alter table 表名 add 字段名 数据类型;
alter table 表名 add 字段名 数据类型 first;
alter table 表名 add 字段名 数据类型 after 字段名;(制定插入位置)
* 删除字段(drop)
alter table 表名 drop 字段名;
* 修改字段数据类型(modify)
alter table 表名 modify 字段名 新数据类型;
* 修改字段名(change)
alter table 表名 change 旧字段名 新字段名 新数据类型;
* 表重命名(rename)
alter table 表名 rename 新表名;
e.g.
alter table interest add tel char(11) after name;
时间类型数据
时间和日期类型:
日期DATE,日期时间DATETIME,时间戳TIMESTAMP
时间TIME
年份YEAR
时间格式
date :“YYYY-MM-DD”
time :“HH:MM:SS”
datetime :“YYYY-MM-DD HH:MM:SS”
timestamp :“YYYY-MM-DD HH:MM:SS”
注意
1、datetime :以系统时间存储
2、timestamp :以标准时间存储但是查看时转换为系统时区,所以表现形式和datetime相同
e.g.
create table marathon (id int primary key auto_increment,athlete varchar(32),birthday date,registration_time datetime,performance time);
日期时间函数
- now() 返回服务器当前日期时间,格式对应datetime类型
- curdate() 返回当前日期,格式对应date类型
- curtime() 返回当前时间,格式对应time类型
时间操作
- 查找操作
select * from marathon where birthday>='2000-01-01';
select * from marathon where birthday>="2000-07-01" and performance<="2:30:00";
-
日期时间运算
-
语法格式
select * from 表名 where 字段名 运算符 (时间-interval 时间间隔单位);
-
时间间隔单位: 2 hour | 1 minute | 2 second | 2 year | 3 month | 1 day
-
select * from marathon where registration_time > (now()-interval 7 day);
上一篇: 【LeetCode】141. 环形链表
下一篇: Leecode 641.设计循环双端队列