unsigned int 虽然mysql支持,但是不建议使用,因为可能在未来某个版本删除
增删改查
CRUD
数据库里的最核心的操作
1.新增 (create)
insert into 表名 values(列,列......) 这里列的数目和类型都得和表结构相匹配
sql中字符串可以使用单引号,也可以使用双引号
指定列插入 insert into 表名 (参数) values()
一次插入十行和插入十次选择插入一次效率会高很多
一次插入多行,就是在values后面写多个括号即可
eg:insert into 表名 values(),(),();
1.检查语法,2.数据校验3.把你要插入的位置在硬盘上进行定位
2.查询(retrieve)
select * from 表名 展示表的所有数据
全列查询
*称为通配符,匹配每个列
select * 这样的操作其实非常危险,数据量太大了,一旦操作就会出现大量的硬盘IO和网卡IO,直接吃满带宽,
就无法正常响应其他客户了,就认为服务器挂了
这种问题的解决方案:一个服务器两个网卡,一个网卡来传输数据,另一个网卡用来传输控制命令
mysql是一个客户端-服务器结构的程序
指定列查询 select 列名,列名...from 表名
确保列名和表里面的是一致的,列名的顺序无所谓
还可以在查询中指定表达式,这个时候就会把查询出来的每一行,都带进表达式运算
插入datetime类型
'2023-11-07 18:16:15' 一种格式化字符串表示方式
也可以使用now()这样的函数可以直接获取当前时间
eg:select name english+10 from 表名 (这里英语成绩+10展示,只是一个临时的表,不会改变本体)
临时的表在小数会保证正确,可能不遵循指定的小数位数
3.更新(update)
4.删除(delete)
小技巧:上下可以搞出上一条命令或下一条命令
mysql是执行效率比较低的程序,所以mysql经常会成为系统中的性能瓶颈
实在不行直接修改mysql配置文件
JAVAEE进阶,会给出自己程序如何写配置文件