mysql服务器操作
1、命令行 启动/关闭
net start/stop mysql
注意:mysql服务器名称是在安装mysql时指定的。我当时安装的是5.7版本的,指定的服务器名称为mysql57,故我的启动名称为:net start mysql57
2、登录
mysql.exe/mysql -h主机地址 -P端口号 -u登录名 -p密码
注意:(1) -P端口号:可以省略,此时使用默认端口号3306.
(2) -p密码:直接使用显示的是明文密码。第二种方式是直接使用-p,然后 回车,再输入密码,此时就不会有明文显示。
3、退出(三种方式)
exit;
quit;
\q;
4、查看数据库文件存储路径
show global variables like "%datadir%";
mysql数据库操作
1、创建数据库
create database 数据库名称 【库选项】;
注意:库选项是指数据库相关属性(字符集charset,校对集collate),保存在当前库文件夹下面的.opt文件中。
2、查看数据库
show databases 【like '匹配模式'】; -- 显示数据库名称
show create database 数据库名; -- 显示数据库创建语句
3、使用数据库
use 数据库名称;
4、修改库选项
alter database 数据库名称 charset 字符集 clooate 校对集;
注意:通常仅更改charset即可,校对集就会随之改变。
5、删除数据库
drop database 数据库名称;
mysql表操作
1、创建表
create table 【数据库名.】表名(字段名 字段类型(字段属性)【,字段名 字段类型(字段属性)】)【表选项】;
注意:(1) 可以先使用use进入数据库后创建表,也可以直接使用数据库名.表名。
(2) 表选项是指表相关相关属性(charset、collate、engine)。表选项优先级大于库选项。
(3) .frm是表结构文件,来自innodb引擎,保存在当前库文件下。
(4) ibdata1是表内容文件,innodb下的表数据都保存在这个文件中。
2、复制表结构
create table 【数据库名.】新表名 like 【数据库名.】旧表名;
注意:此处仅复制表结构,不会复制表内容。
3、显示表
show tables 【like '匹配模式'】; -- 显示表名
show create table 表名称; -- 显示表创建语句
show cloumns from 【数据库名.】表名; -- 显示表结构(方式1)
desc 【数据库名.】表名; -- 显示表结构(方式2)
注意:显示表名时,需要进入数据库。
4、修改表结构
rename table 旧表名 to 新表名; -- 修改表名
alter table 表名 表选项 选项值; -- 修改表选项
alter table 表名 add 字段名 字段类型【first / after 字段名】; -- 新增字段【新增位置】
alter table 表名 change 旧字段名 新字段名 新字段类型; -- 修改字段
alter table 表名 modify 字段名 新字段类型; -- 修改字段类型
alter table 表名 drop 字段名; -- 删除字段
5、删除表
drop table 表名[,表名1,表名2....];
mysql数据操作
insert into 表名 【(字段列表)】 values (值列表); -- 插入
update 表名 set 字段名=新值 where 条件; -- 修改
select 字段名 from 表名 where 条件; -- 查询
delete from 表名 where 条件; -- 删除
mysql字符集操作
set names 字符集;
场景:使用命令行插入中文数据或者查询中文数据时出现乱码?
这是因为cmd窗口下只有一个默认字符集gbk;而数据库不是采用gbk。此时就需要客户端告诉服务端我使用的是哪个字符集即可。
注意:用户通过操作mysql.exe来操作mysqld.exe,真正执行SQL语句的是mysqld.exe,mysql.exe将数据传入mysqld.exe时,没有告知其对应的符号规则(字符集),而mysqld.exe页没有能力自己来判断,就会使用自己默认的字符集。