增删改查(CRUD)
新增
insert into 表名 values(值,值...)
insert into student values(1,'zhangsan');
指定列插入
insert into 表名(列名,列名..) values (值,值...)
此处指插入name,id这一列就会被填充为默认值(null)。
insert into student (name) values ('lisi');
一次插入多行记录
insert into 表名 values(值,值...) (值,值...)...
insert into student values(3,'wangwu')(4,'zhaoliu');
一次插入多行记录,相比于多次插入一行,速度要快。
通过selct查询表中内容
插入datetime类型
可以使用一个固定格式的字符串,表示时间日期。
insert into teacher values(1,'张三','2000-01-01 12:00:00');
填写当前时间
使用sql提供的函数,now()
insert into teacher values(2,'lisi',now());
查询
1.全列查询
select * from 表名;
列出表中所有行和列。*表示“通配符”,可以代指所有的列。
select * from exam;
查询之后,服务器通过网络将数据返回客户端,客户端以表格形式“打印”出来。
如果数据库当前这个表中数据特别多,就可能出现问题:
1.读取硬盘,把硬盘的IO跑满,此时程序的其他部分像访问硬盘,就会非常慢。
2.操作网络,也可能把网卡的宽带也跑满,此时其他客户端想通过网络访问服务器,也会非常慢。
2.指定列查询
select 列名,列名..from 表名;
select name,chinese from exam;
3.查询字段为表达式
一边查询,一边计算。由列名构成的表达式,把这一列中所有行带入表达式中,参与运算。
不会修改数据库服务器上的原始数据。
4.查询的时候给列/表达式/表指定别名
select 表达式 as 别名 from 表名;