博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20141229 mysql基本操作二
阅读量:5066 次
发布时间:2019-06-12

本文共 1699 字,大约阅读时间需要 5 分钟。

修改表

修改表分为两种:修改表自己,修改表内部的字段

修改表自己:修改表名和表选项

修改表名

rename table 表名 to 新表名;

修改表选项

alter table 表名 表选项;

修改存储引擎会修改对应的数据库文件夹下的文件

修改表字段:增删改

alter table 表名 [add/drop/modify/change] 字段名字 数据类型 [位置]

位置:first/ after 字段名,默认的是本身或者所有的字段之后

添加字段

alter table 表名 add [colomn] 字段名 数据类型 [位置]

修改字段:修改名字和修改字段的数据类型

修改字段名字

alter table 表名 change 字段原名 新名字 数据类型;

修改字段数据类型

alter table 表名 modify 字段名字 数据类型 [位置];

删除字段

alter table 表名 drop 字段名;

删除表

将表删除和表里面的数据也删除

语法

drop table 表名,表名;

可以一次性删除多个表,使用逗号分隔。

注意:数据表不要轻易删除,删除之前最好先备份。

数据操作

对表里面的数据进行增删改查

新增数据

数据与结构有别,SQL额外使用了关键字insert into

语法

insert into 表名 [(字段列表:字段使用逗号分隔)] values(值列表:必须完全对应字段列表。加引号,值之间用逗号分隔)[,(值列表)]

数据的新增方式有以下几种

1. 部分字段添加数据,没有添加的部分系统会自动的使用字段的默认值填充,必须指定字段列表和值列表,顺序都必须一一对应(字段列表里面的字段可以与表结构中的字段不一样)

注意:采用这种方式插入数据的话,必须前提条件是没有插入数据的字段有默认值或者自增长

2. 给所有的字段都添加数据:可以没有字段列表,如果没有字段列表,值列表里面数据的顺序就必须与表结构中的字段顺序一致。

3. 可以一次性插入多个数据(记录),在values后面使用括号和逗号进行分隔

查看数据

将表中的数据取出来查看

语法:

select */字段列表 from 表名 where 条件;

where条件用来筛选数据

更新数据

语法

update 表名 set 字段名 = 值[,字段 = 值…] where 条件;

更新多条记录

删除数据

语法

delete from 表名 where条件; -- 没有条件就会删除所有的数据

字符集

1. 什么是字符集?

字符集是字符的集合,不同的字符在进行二进制存储的时候,应当遵循的某个转换的规则。

字符集问题解决

1. 了解服务器到底能支持哪些字符集?

show character set;

2. 了解服务器默认的对外部客户端的默认字符集支持

show variables like ‘character_set%’;

mysql客户端只支持GBK,而服务器默认客户端是utf8字符集

解决方案:将服务器认为的客户端发送的数据由utf8改成gbk

set character_set_client = gbk;

解决效果

查询效果

矛盾:查询出来的结果依然是乱码,原因是因为服务器认为客户端所能解析的结果的字符集是utf8的,客户端实际上是GBK,GBK的确可以解析,只是解析成乱码。

解决方案:修改服务器认为的客户端的所能接收的结果的字符集为gbk;

set character_set_results = gbk;

set names gbk:所做的事情就是将服务器认为的跟客户端相关的字符集(client和results)变成gbk,系统还会将connection也转成gbk;

connection只是为了数据在内部进行转换时,提升转换的效率

原理图

字符集的设置:根据客户端自己的字符集进行设置。

posted on
2017-02-24 14:00  阅读(
...) 评论(
...) 收藏

转载于:https://www.cnblogs.com/lifushan/p/6438323.html

你可能感兴趣的文章
oracle导出/导入 expdp/impdp
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
Android TextView加上阴影效果
查看>>
《梦断代码》读书笔记(三)
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
AngularJS学习篇(一)
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
css3动画——基本准则
查看>>
输入月份和日期,得出是今年第几天
查看>>
pig自定义UDF
查看>>
Kubernetes 运维学习笔记
查看>>
spring security 11种过滤器介绍
查看>>
代码实现导航栏分割线
查看>>
大数据学习系列(8)-- WordCount+Block+Split+Shuffle+Map+Reduce技术详解
查看>>
【AS3代码】播放FLV视频流的三步骤!
查看>>
枚举的使用
查看>>
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
日志框架--(一)基础篇
查看>>
关于源程序到可运行程序的过程
查看>>