20141229 mysql基本操作二

修改表

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

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

修改表名

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只是为了数据在内部进行转换时,提升转换的效率

原理图

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

时间: 2024-11-16 03:04:00

20141229 mysql基本操作二的相关文章

mysql 基本操作二

1.查询数据 MariaDB [jason]> select * from runoob_tbl limit 2 offset 2; 默认是从偏移量为0 处开始查村数据,通过指定offset 可以从offset 处开始取数 2.where 语句 MariaDB [jason]> select * from runoob_tbl where runoob_title like '%python%'; +-----------+--------------+---------------+----

mysql基本操作二

Linux下mysql基本操作

Linux下mysql基本操作                            作者:浩浩哥来了 对mysql进行初始密码的添加 方法(一) mysqladmin -uroot password 123 方法(二) 如果在添加初始密码是报错了可以进行我下面的方法修改密码. ERROR1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 在/etc/my.cnf文件中添加skip-grant-

95.更改MySQL的root用户密码,MySQL基本操作的常用命令

更改MySQL的root用户密码 1.首次进入数据库 [[email protected] ~]# /usr/local/mysql/bin/mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.6.36 MySQL Community Server (GPL) Copyright (c) 2000, 2017, O

MySQL基本操作(上)

本博客写是装好Mysql并配好环境变量后的基本操作(windows10系统下)且都是黑框内的操作. 一.登陆MySQL 首先启动服务,在桌面左下角图标处点击右键Windows PowerShell(管理员)(A),然后会出来个蓝框,在蓝框内输入net start mysql80(80是对应的MySQL版本如果是其他版本则输入对应的版本号,如5.7版本输入net start mysql57),然后按回车键,若显示服务已启动,则服务启动成功. 在搜索框内输入cmd则会弹出命令提示符点击进去,所谓的黑

Mysql基本操作、C++Mysql简单应用、PythonMysql简单应用

MySql基本操作 -- 当指定名称的数据库不存在时创建它并且指定使用的字符集和排序方式 CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET UTF8 COLLATE utf8_general_ci; -- 显示数据库语句 SHOW DATABASES; -- 查看数据库的创建方式,主要是字符类型 SHOW CREATE DATABASE db_name; -- 修改数据库的属性信息,比如修改字符集为 GBK ALTER DATABASE db

【mysql】mysql基本操作

mysql基本操作 1.mysql表复制 mysql 表结构的复制 create table t2 like t2 mysql 表数据的复制 insert into t2 select * from t1 2.mysql索引的操作 2.1索引的增加 alter table tb_name add index index_name (列名) alter table tb_name add unique(列名) alter table tb_name add primary key (列名) 2.2

JAVA使用JDBC连接MySQL数据库 二(2)

本文是对 <JAVA使用JDBC连接MySQL数据库 二>的改进. 上节使用的是PreparedStatement来执行数据库语句,但是preparedStatement需要传递一个sql语句参数,才能创建.然而,DBHelper类只是起到打开和关闭数据库的作用,所以sql语句是要放到应用层部分的,而不是放到DBHelper类中. 而statment不需要传递一个sql语句参数,就能创建. 修改部分如下: public class DBHelper { String driver = &quo

第02章 mysql 基本操作

2015-10-24 目录 参考资料 [1] 唐汉明.深入浅出MySQL 数据库开发.优化与管理维护(第2版)[M].北京:人民邮电出版社,2014 [2] Schwartz.高性能MySQL(第3版)[M].北京:电子工业出版社,2013 [3] DuBois.MySQL Cookbook 中文版 第2版 [M].北京:电子工业出版社,2008 [4] DuBois.MySQL技术内幕(第4版)[M].北京:人民邮电出版社,2011 [5] 范德兰斯.MySQL开发者SQL权威指南 [M].北