欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sql数据库:数据表的行/列操作基础, 增删改查

程序员文章站 2022-04-04 08:30:56
...

插入(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
sql数据库:数据表的行/列操作基础, 增删改查

时间格式

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);
相关标签: 第二阶段