mysql字符集,insert,update,delete,select

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 发现有错误:数据太长了。//查看数据库的所有编码:show variables like 'character%';-----+| character_set_client     | utf8    设置客户端的字符集     || character_set_connection | utf8    设置连接的字符集     || character_set_database   | ut

发现有错误:数据太长了。
//查看数据库的所有编码:
show variables like 'character%';
-----+
| character_set_client     | utf8    设置客户端的字符集
     |
| character_set_connection | utf8    设置连接的字符集
     |
| character_set_database   | utf8 设置数据库的字符集
     |
| character_set_filesystem | binary    设置文件系统的字符集
     |
| character_set_results    | utf8 设置显示结果是使用的编码
     |
| character_set_server     | utf8 设置配置MySQL时设置的字符集
     |
| character_set_system     | utf8
     |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.0\share\chars
ets\ |
+--------------------------+----------------------------------------------------
解决乱码的问题:
1、设置客户端的结果集
2、设置显示结果的字符集

1,set character_set_client=gbk;   使用的客户端编码
2,set character_set_results=gbk; 结果集的编码

创建一张a表
create table a
(
 id int,
 name varchar(20)
);

insert into a values(1,'aaa');
insert into a values('bbbb');//只想添加name时,要把a(name)写上。
insert into a(name) values('bbbb');
+------+------+
| id   | name |
+------+------+
|    1 | aaa  |
| NULL | bbbb |
+------+------+
实际上into也可以不写。
insert a values(2,'cccc');
insert a values(3,'dddd');

上面的等价下面的:
insert a value(4,'cccc'),(5,'dddd');

select * from employee;

将所有的员工的薪水修改为5000元
update employee set salary=5000;
将姓名为  zhangsan 的员工的薪水修改为3000元
update employee set salary=3000 where name='zhangsan';
将姓名为 lisi 的员工薪水修改为4000元,sex修改为female
update employee set salary=4000,gender='female' where name='lisi';
将xiaohong的薪水在原有的基础上增加1000元。
update employee set salary=salary+1000 where name='xiaohong';

set character_set_results=gbk;


3delete语句 删除数据
删除表中name为zhangsan 的记录
delete from employee where name='zhangsan';
删除表中的所有数据
delete from employee;

insert into employee
 (id,name,gender,birthday,salary,entry_date,resume)
 values(1,'zhangsan','male','1980-1-1',1000,'2000-3-16','good boy');

insert into employee
 (id,name,gender,birthday,salary,entry_date,resume)
 values(2,'lisi','male','1934-4-1',1000,'2010-3-16','good boy');

insert into employee
 (id,name,gender,birthday,salary,entry_date,resume)
 values(3,'xiaohong','female','1984-1-1',1000,'2008-3-16','good girl');

使用truncate删除表中的记录
truncate employee;  删除表中的记录。删除表在创建表
select * from employee;

insert into employee
 (id,name,gender,birthday,salary,entry_date,resume)
 values(1,'zhangsan','male','1980-1-1',1000,'2000-3-16','good boy');

insert into employee
 (id,name,gender,birthday,salary,entry_date,resume)
 values(2,'lisi','male','1934-4-1',1000,'2010-3-16','good boy');

insert into employee
 (id,name,gender,birthday,salary,entry_date,resume)
 values(3,'xiaohong','female','1984-1-1',1000,'2008-3-16','good girl');

select * from employee;
mysql> select * from employee;
+------+----------+--------+------------+--------+------------+-----------+
| id   | name     | gender | birthday   | salary | entry_date | resume    |
+------+----------+--------+------------+--------+------------+-----------+
|    1 | zhangsan | male   | 1980-01-01 |   1000 | 2000-03-16 | good boy  |
|    2 | lisi     | male   | 1934-04-01 |   1000 | 2010-03-16 | good boy  |
|    3 | xiaohong | female | 1984-01-01 |   1000 | 2008-03-16 | good girl |
+------+----------+--------+------------+--------+------------+-----------+


4、select 语句
column 指定列名
* 号代表查询所有列
From 指定查询哪张表
DISTINCT可选,值显示结果时,是否剔除重复数据。

student.sql
create table student
(
 id int,
 name varchar(20),
 chinese float,
 english float,
 math float
);
insert into student(id,name,chinese,english,math) values(1,'张小明',89,78,90);
insert into student(id,name,chinese,english,math) values(2,'李菁',67,53,95);
insert into student(id,name,chinese,english,math) values(3,'王五',87,78,77);
insert into student(id,name,chinese,english,math) values(4,'李一',82,98,92);
insert into student(id,name,chinese,english,math) values(5,'李来才',82,84,67);
insert into student(id,name,chinese,english,math) values(6,'张警报',55,85,45);
insert into student(id,name,chinese,english,math) values(1,'黄蓉',75,65,30);

//查询所有的学生的信息
select * from student;

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
SQL NoSQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(5)作者——LJS[含MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页等详解步骤及常见报错问题所对应的解决方法]
MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页、INSERT INTO SELECT / FROM查询结合精例等详解步骤及常见报错问题所对应的解决方法
|
2月前
|
SQL 关系型数据库 MySQL
MySQL异常一之: You can‘t specify target table for update in FROM clause解决办法
这篇文章介绍了如何解决MySQL中“不能在FROM子句中指定更新的目标表”(You can't specify target table for update in FROM clause)的错误,提供了错误描述、需求说明、错误做法和正确的SQL写法。
627 0
|
4月前
|
存储 自然语言处理 关系型数据库
MySQL全文索引源码剖析之Insert语句执行过程
【8月更文挑战第17天】在MySQL中,处理含全文索引的`INSERT`语句涉及多步骤。首先进行语法解析确认语句结构无误;接着语义分析检查数据是否符合表结构及约束。随后存储引擎执行插入操作,若涉及全文索引则进行分词处理,并更新倒排索引结构。此外,事务管理确保了操作的完整性和一致性。通过示例创建含全文索引的表并插入数据,可见MySQL如何高效地处理此类操作,有助于优化数据库性能和提升全文搜索效果。
|
4月前
|
关系型数据库 MySQL Shell
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
|
4月前
|
关系型数据库 MySQL
解决MySQL insert出现Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘xxx‘ at row 1
解决MySQL insert出现Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘xxx‘ at row 1
343 2
|
4月前
|
存储 SQL 关系型数据库
MySQL中的update操作与锁机制
本文探讨MySQL中`UPDATE`操作的自动加锁机制及其对数据一致性的保障作用。尤其在InnoDB存储引擎下,系统会在涉及索引的更新操作中加行锁或间隙锁,防止多事务并发修改同一条记录。通过福利码兑换系统的实例展示,当线程A开启事务更新库存时,线程B试图更新相同记录会被阻塞,直至线程A提交。此外,文章还介绍了乐观锁及版本号控制等策略进一步提升并发性能的方法。作者:小明爱吃火锅,来源:稀土掘金。
230 2
|
4月前
|
存储 关系型数据库 MySQL
在 MySQL 中使用 Insert Into Select
【8月更文挑战第11天】
632 0
在 MySQL 中使用 Insert Into Select
|
5月前
|
SQL 关系型数据库 MySQL
MySQL删除表数据、清空表命令(truncate、drop、delete 区别)
MySQL删除表数据、清空表命令(truncate、drop、delete区别) 使用原则总结如下: 当你不需要该表时(删除数据和结构),用drop; 当你仍要保留该表、仅删除所有数据表内容时,用truncate; 当你要删除部分记录、且希望能回滚的话,用delete;
|
3天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
50 15
|
4天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。