目录
关键字insert
常见错误类型
指定一列插入数据
多列同时插入
插入效率问题
全列查询select *
查看数据库字符集类型:
更改数据库字符集
- C:create 新增
- D:update 修改
- R:retrieve 查询
- D:delete 删除
进行增删查改,必须先选中数据库
关键字insert
SQL 使用 insert 关键字来表示新增数据
每次新增都是直接新增一行(一条记录)
insert into 表名 value(列,列.....);
注意:value后面的()中的内容个数、类型必须和表的结构匹配
‘’(单引号)和“”(双引号)都可以表示字符串,因为SQL没有字符类型,只有字符串类型,这种编程语言对单双引号要求不高
常见错误类型
1、列数不匹配
2、列的类型不匹配
可以存中文字符的数据吗?
指定一列插入数据
insert除了可以插入完整的一行数据之外。还可以指定哪列插入
此时,未被指定的列,则是默认值来进行填充
指定一个列:(列名)
,分隔)
多列同时插入
一次性插入多个行——一个sql插入多条数据
实现方法:insert 语句values后面跟多个()
每一组括号对应一行(一条记录)
插入效率问题
一次插入1条数据,插10次比一次性插入10条效率低
- 因为insert是通过网络访问的,发送请求返回网络响应都是要时间的
- 数据库服务器是把数据保存在硬盘上的(硬盘读取要时间)
- mysql关系型数据库每次进行sql操作,内部都会开启一个事务(开启事务也是要时间开销的)
全列查询select *
select是sql中最复杂的操作(变化多)
1、全列查询——查询表里的所有列
select * from 表名;
*是通配符,代表所有列
工作中select操作非常危险,select *数据量非常大
- 数据从硬盘出来,通过网卡发送,数据量一大就会把硬盘IO吃满,网络带宽吃满,(工作无法正常进行)
服务器的硬件资源是有限的,把某个资源吃满,容易导致程序出现严重问题
查看数据库字符集类型
show variables like '%character%';
mysql的配置文件my.ini里的默认字符集。默认字符集是拉丁文,不支持中文。
更改数据库字符集
1、删除之前的库,重新建一个指定utf-8字符集的数据库。(一定要删除数据库,妄想中途改变字符集,继续使用)
2、找到自己文件目录下mysql中的my.ini
3、打开my.ini记事本,找到[mysql]节点,
找到default-character-set,改成default-character-set=utf8
如果是#default-character-set=utf8,把#删除(前面有#号表示注释,需要删除#)
最后保证下面的样子:
4、ctrl+s保存
5、重启mysql(让服务器重新加载配置文件)
6、查看
7、使用