insert 插入讲解 :

1:创建一个表:

create table test( id int(4) not null auto_increment, name char(20) not null, age tinyint(2) not null default '0', dept varchar(16) default null, primary key(id), key index_name(name) );

2: 按指定规则 - 插入数据,在查询一下

insert into tset(id,name) values(1,'xutest');

3: 自增的插入方法:

insert into test(name) values('xutest1');

4: 不指定列插入

5: 一次插入两条数据:

 select 查询讲解 :

《select》

select *  from xxx  where id=2 ;

select *  from xxx  where id>2 and/or id<4 ;

select *  from  xxx limit 0,2; 第0行开始查,查2行记录

查询用户的密码

select  user,host,password from mysql.user where user=xx and host='xxx';

select  user,host  from mysql.user;

排序:order by (asc 升序。 desc倒序)

select  user,host  from mysql.user order  by user;

select user,host  from mysql.user  order by user asc;

select user,host  from mysql.user  order by user desc;

查看当前版本,用户,数据库,时间(调用的函数)

select  database(); 查询当前进入的数据库

select  user();/version();/ now();

多表查询:

使用explain 查询 select 查询语句执行计划:

创建一个普通索引:

在使用explain 查询:会发现有索引了:

 update修改表数据  : 

---------------------------------------------------------------------------------------------------------------------------------------------------

mysql 乱码  解决方法:

第一种方法:

set names latin1;  然后在插入数据,就不会显示乱码。.

第二种方法:

source  test.sql;

第三种方法:

第四种方法:

------------------------------  --------------------------------------------------------------------------------------

mysql 数据库字符集详细介绍

创建GBK字符集数据库:

create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

常见字符集:

如何选择字符集:

加粗的三个是客户端的字符集(客户端,连接,返回结果),客户端修改字符集后,mysql这边会显示出来

对应的讲解:

指定字符集登录:

指定字符集登录数据库:

mysyql -uroot -pxutest --default-character-set=latinl

mysyql -uroot -pxutest --default-character-set=latinl xutest < test.sql

 

或者临时设置字符集:

字符集:

永久更改字符集步骤:

1: 更改客户端字符集方法:

my.cnf 添加如下这句:不需要重启就生效

2:更改服务端字符集:

需要重启mysql服务器,才能生效!

------------------------ ----------------------

生产环境中---如何更改已有的数据库字符集:

总结步骤:

----------------------------------------------附件扩展内容--------------------------------------------------------------------------------------

mysql 运维人员必须要会的常用操作命令:

《system 不退出mysql 执行命令》
system cat test.log
----------------------------------------------------------------
《desc》
查询表结构
desc mysql.user;
desc mysql.user\G; 竖着显示

desc student; 查询student表结构
show columns from student 也是查询表结构,比较复杂很少用
----------------------------------------------------------------
《use》
use xutest; 使用xutest数据库

《rename》
rename table 原表名 to 新表名
----------------------------------------------------------------
explain 查询有没有走索引

explain select * from student where id=2 ; 查询有没有走索引
----------------------------------------------------------------
《insert》 插入

insert into test(id,name) values(1,'xutest');表test 的id 和name插入数据
insert into test(name) values('xutest1'); 根据自增插入
一次插入多条
insert into test values(1,'xutest'),(3,'xutest12');

----------------------------------------------------------------
《alter》 -

我们知道,在知道root密码时,可以使用“ALTER USER ‘root'@'localhost' IDENTIFIED BY ‘新密码';”指令来修改root

更改xutest 数据库字符集为utf8(数据库必须为空才能更改)
alter database xutest character set utf8;

改表名: alter table xutest to test;

增/删 改表的字段<alter table 表名 add 字段 类型 其他;>
alter table test add sex char(4);
alter table test add sex char(4) frist; 在第一列添加
alter table test add sex char(4) after name;在name列后增加age列
修改原字段名称及类型

alter table test change sex sex_new char(4);

删除字段
alter table test drop sex;

添加主键
alter table student change id id int primary key auto_increment;
删除主键
alter table student drop primary key;
删除普通索引
alter table student drop index index_name/index_age;
drop index index_name/index_age on student;

添加普通索引
alter table student add index index_name(name);
alter table student add index index_age(age);
添加唯一索引
alter table student add unique index index_age(age);

create: 指定dept 前8个字符创建索引
create index index_dept on student(dept(8));
创建联合索引
create index index_name_dept on student(name,dept);
create index index_name_dept on student(name(3),dept(5));

创建唯一索引:
create unique index index_name on student(name);

------------------------------------------------------
《create》

create user 'xutest'@'localhost' identified by 'xutest123';创建用户指定密码
grant all privileges on d3306.* to 'u3306'@'192.168.0.%'; 设置权限

create database d3306test; 创建数据库默认字符集
create database dbname defaule charset gbk;
创建指定字符集数据库:
create database `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

create table student( <创建表(前提是use xxx 进入数 据库>
id int(4) not null,
name char(20) not null,
age tinyint(2) NOT NULL default '0',
dept varchar(16) default NULL
); DEFAULT=InnoDB AUTO_INCREMENT DEFAUTL CHARSET=utf8

----------------------------------------------------------------

《revoke》

收回权限 要和用户名的是对应的,不然不起作用
<show grants for xutest@localhost; 查看用户的权限对应 >
revoke insert on d3306.* from 'jeffrey'@'localhost';
----------------------------------------------
limit
select * from xxx limit 0,2; 第0行开始查,查2行记录

----------------------------------------
《select》

select * from xxx where id=2 ;
select * from xxx where id>2 and/or id<4 ;
select * from xxx limit 0,2; 第0行开始查,查2行记录

多表查询
select student.name,test.age from student,test where student.name=test.name and xx;

查询用户的密码
select user,host,password from mysql.user where user=xx and host='xxx';
select user,host from mysql.user;

排序:order by (asc 升序。 desc倒序)
select user,host from mysql.user order by user;
select user,host from mysql.user order by user asc;
select user,host from mysql.user order by user desc;

查看当前版本,用户,数据库,时间(调用的函数)
select database(); 查询当前进入的数据库
select user();/version();/ now();

----------------------------------------------------------------
《update 》

update 表名 set 字段=新值,... where 条件();
update test set name="gongli" where id=3; 把id为3的名字改成gongli

更改用户密码
update mysql.user set password=password('456’) where user=’root’ and host=’localhost';

----------------------------------------------------------------
《 flush privileges》

刷新
flush privileges;
----------------------------------------------------------------
《show》

查看数据库data文件目录在哪
show global variables like "datadir";

show engines\G; 查看数据库支持的引擎
show processlist; 查看数据库连接情况
show full processlist 看完整的语句
mysql -u root -p'xutest' -S /data1/3307/mysql.sock -e "show full processlist;"|grep -v Sleep

show global status ; 全局状态(连接数,插入次数等等)
show character set; 查看mysql所有字符集详细

查看系统变量(my.cnf)
show variables/status/global\G; 查看my.cnf里面配置的所有参数,查看状态
-------------
set:
set names latin1; 临时设置字符集latin1

set global key_buffer_size=1024*1024*12
12M不重启mysql更改my.cnf参数key_bufxxx,如果mysql服务重启了就会失去。因此要在my.cnf里面也添加上以防服务器重启

set global sql_slave_skip_counter=1 跳过一个,然后在继续同步(先stop slave ,然后在开启)

stop slave sql_thread; 停掉slave 的 sql线程,还可以是io_thread:

-----------------
show variables like "key_buffer%"; 查看更改有没有生效

show master statuts; 查看master binlog日志的当前记录位置
show slave status\G; 查看从库状态。

show tables; 查看当前进入的数据库,里面表
show tables from/in xutest; 查看指定数据库,里面表

show grants for xutest@localhost; 查看用户的权限

show index from student\G; 查看student表内容

show databases; 查看已有的数据库
show databases like '%xutest%'; 查看所有包含xutest字段的数据库

show create database xutest\G; 查看数据库xutest ,建表的字符集等信息(系统默认)

show create table student\G; 查看表的内容

----------------------------------------------------------------
《drop》

drop table student; 删除表

drop database test; 删除test 数据库

drop user "user"@"主机名" ;(delete 也可以删除用户)

----------------------------------------------------------------
《delete》

delete from mysql.user where user=''; 删除用户名是用的 主机。
delete from mysql.user where user='nova' and host='locallhost';
delete from mysql.user; 或者删除全部用户
删除表里面数据:
delete from test where id=1/id>3;
----------------------------------------------------------------
《truncate》

truncate table test; 直接清空test 表里面所有数据

----------------------------------------------------------------

《grant》

所有权限 d3306数据库和表 用户和主机名 设置密码 xutest123
grant all privileges on d3306.* to 'u3306'@'192.168.0.%' identified by 'xutest123';
更改root密码:
grant all privileges on *.* to 'root'@'localhost' identified by '123456';
如果没有原密码,就不需要加-p密码,可以直接修改
mysqladmin -h 127.0.0.1 -uroot -p123456 password '123456' -P 3306

grant select,create,delete,grant on d3306.* to 'u3306'@'192.168.0.%'(或者192.68.0.1/255.255.255.0 或者 是域名) identified by 'xutest123';

grant all privileges on d3306.* to 'u3306'@'192.168.0.%';

创建从库同步账号(在主库上面执行) replication slave权限

grant replication slave on *.* to 'rep'@'192.168.0.%' identified by 'xutest123';

切记改完账号密码,新建等要刷新
flush privileges;
----------------------------------------------------------------
加锁 - 备份的时候先把数据库锁住,不让用户在写数据,注意不能退出,
需要重新开一个窗口备份数据。

加锁
flush table with read lock; ---- 5.x - 7.x 系统
flush tables with read lock; ---- 5.1系统是是tables
锁的时间和如下两个参数有关:
interactive_timeout = 60
wait_timeout= 60

解锁
unlock tables;

--------------------------------------------------------------

 

转载于:https://www.cnblogs.com/jim-xu/p/11610283.html

04 : mysql 基础命令操作,字符集相关推荐

  1. mysql命令成功数值不变_MySQL基础知识精华汇总_3(mysql基础命令操作)

    登录 MySQL 当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名: mysql -h 主机名-u ...

  2. Mysql常用基础命令操作实战

    目录 一    启动与关闭MySQL    3 1.1    单实例MySQL启动与关闭方法    3 ※1※    常规启动关闭数据库方式(推荐)    3 1.2    多实例MySQL启动与关闭 ...

  3. MySQL基础命令-学习的时候记录一下

    MySQL基础命令 DDL-操作数据库命令 R(Retrieve):查询功能 ① 查询所有数据库 SHOW DATEBASES; ② 查询数据库的创建语句 SHOW CREATE DATABASE d ...

  4. Mysql 基础命令

    MySQL基础命令 创建用户 1 -- 查看系统用户2 select Host,User,Password from mysql.user;3 4 -- 创建一个远程用户 5 create user ...

  5. zookeeper中展示所有节点_Zookeeper系列一:Zookeeper基础命令操作

    有些事不是努力就可以改变的,五十块的人民币设计的再好看,也没有一百块的招人喜欢. 前言 由于公司年底要更换办公地点,所以最近投了一下简历,发现面试官现在很喜欢问dubbo.zookeeper和高并发等 ...

  6. Zookeeper基础命令操作

    转载链接:https://blog.csdn.net/dandandeshangni/article/details/80558383 安装参考链接https://blog.csdn.net/qiun ...

  7. linux常用基础命令操作收集

    linux常用基础命令操作收集,以下命令基于CentOs6.x 1.日常操作命令 **查看当前所在的工作目录 pwd **查看当前系统的时间 date **查看有谁在线(哪些人登陆到了服务器) who ...

  8. linux mysql运维_Linux运维常用的 MySQL基础命令

    # MySQL基础命令 ------------- ### 创建MySQL库,授权. >create database mysqldb character set utf8; >grant ...

  9. Cisco Packet Tracer中的基础命令操作以及组织网络实验

    基于思科模拟器的路由基础命令操作 4.路由器的模式切换 5.路由器基本命令及实现功能 路由器命令小结: 基于思科模拟器的路由基础命令操作 1.打开Cisco packet tracer,选取路由器Ro ...

最新文章

  1. 作为一名程序员,数学到底对你有多重要?
  2. 有没有想过,自己手写一个连接池?
  3. 通过脚本案例学习shell(二) --- 通过线性显示/etc/passwd内容了解while read用法
  4. 个人知识体系思维导图_高中数学知识点思维导图
  5. 了解一些多线程相关的知识
  6. 在你的andorid设备上运行netcore (Linux Deploy)
  7. 【Java】计算1+1/2+1/3+1/4....前20项
  8. Deep Learning(深度学习)网络资源
  9. linux版filezilla使用教程,FileZilla使用测评
  10. 【总结整理】openlayer加载搜狗地图,qq地图,mapabc
  11. 游戏测试主要工作及主要流程
  12. linux查看历史开机时间,查看linux系统的开机时间/重启历史记录
  13. 阿里P8、P9税后180W及以上到底是什么水平?
  14. PCM开发板模块实验指导--有刷直流马达速度控制实验
  15. UCOS学习(一)——前后台系统、RTOS系统
  16. 硬件探索——D触发器74LS74在Multisim中搭建四分频电路
  17. rust前哨站_Rust
  18. Ubuntu 16.04 硬盘安装
  19. OSChina 周日乱弹 —— 和妹子约会,要会聊天
  20. 寻迹避障小车设计的ppt怎么做

热门文章

  1. ERROR: 报错分析 phase.raise_objection(this)不能是phase.raise_objection(phase)
  2. eovs实训报告总结心得_实训报告心得体会范文大全
  3. 怎么重置imac_如何重置Mac Pro?四种重置Macbook Pro的方法
  4. TWaver GIS制作穹顶之下的雾霾地图
  5. 【从零开始学深度学习编译器】十二,MLIR Toy Tutorials学习笔记一
  6. 启动U盘安装linux系统
  7. python编程求1!+2!+…+n!_python计算阶乘和的方法(1!+2!+3!+...+n!)
  8. Livid : 在 26 岁时写给 18 岁的自己
  9. 为什么word文档或EXCET表格从电脑传到手机上格式就变了
  10. 数据结构实验:城市交通咨询模拟系统