MySQL中简单语句如何应用
下面讲讲关于MySQL中简单语句如何应用,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL中简单语句如何应用这篇文章你一定会有所受益。
1.mysql多实例登陆
mysql -uroot -p'123456' -S /data/3306/mysql.sock
2.查看版本及登陆用户
select version();
select user();
3.创建GBK字符集数据库rich3
create database rich3 CHARACTER SET = gbk COLLATE = gbk_chinese_ci;
show create database rich3; //查看创建的数据库rich3
4.创建用户rich3并管理数据库rich3所有权限
grant all on . to rich3@localhost identified by '123456';
5.查看当前数据库里有哪些用户
select user,host from mysql.user;
6.进入rich3数据库
use rich3;
7.创建innodb引擎字符集为GBK表test,字段为id和name varchar(16),查看建表结构及SQL语句
CREATE TABLE test (
id int(4) DEFAULT NULL,
name varchar(16) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk
show create table test; //查找创建的表test
8.插入一条数据1,abcd
insert into test values(1,'abcd');
9.批量插入数据2,你好,3,richrich
insert into test values(2,'你好'),(3,'richrich');
select * from test; //查看test表所有数据
10.查询名为richrich的记录,id大于1的记录
select from test where name=richrich';
select from test where id>1;
11.将id大于1的名字richrich改为hello
update test set name='hello' where id=1;
select * from test;
12.在字段name前插入age字段,类型为int(4)
desc test; //查看表结构
alter table test add age int(4) after id;
13.备份rich3库及mysql库
mysqldump -uroot -p'123456' -S /data/3306/mysql.sock --events -B rich3 mysql >/opt/bak_db_rich3_mysql.sql
14.删除表中的所有数据并查看
truncate table test; //清空表
desc test; //查看表结构
select * from test;//查看表test中所有的内容
show tables;//查看当前库中所有的表
15.删除数据库rich3并查看
show databases;
drop database richy2;
16.在命令行恢复以上删除的数据
mysql -uroot -p'123456' -S /data/3306/mysql.sock </opt/bak_db_rich3_mysql.sql
17.把GBK字符集修改为UTF8
将备份的数据文件里面的gkb替换为utf8在还原到数据库中,命令行更改字符集,securecrt更改;
sed -i 's#gbk#utf8#g' /opt/bak_db_rich3_mysql.sql
mysql -uroot -p'123456' -S /data/3306/mysql.sock </opt/bak_db_rich3_mysql.sql
18.mysql密码丢失找回
停止数据库,跳过授权表启动,登陆数据库并修改密码,最后在配置件里修改成新的密码重启数据库
mysqld_safe --default-file=/data/3306/my.cnf --skip-grant-table &
mysql -S /data/3306/mysql.sock
update mysql.user set password=password('123456') where user='root' and host='localhost';
flush privileges;
vim /data/3306/my.cnf ---->mysql_pwd='123456'
/data/3306/mysql restart
19.中文数据乱码原理及如何防止乱码
mysql数据库配置文件设置支持中文的字符集,终端设置支持中文的配置
20.设置id为主键,在name字段上创建普通索引
use rich3;
alter table test add primary key(id);//改表增加主键id
alter table test add index name(name);//改表增加索引name
desc test;//查看表结构
21.在字段name后插入手机号字段(shouji),类型char(11)
alter table test add shouji char(11) after name;
22.在所有字段上插入2条记录,数据任意
insert into test values(4,18,'rich',11111111111),(5,28,'tomn',22222222222);
update test set shouji='33333333333' where id<4;
update test set shouji='44444444444' where id<3;
update test set shouji='55555555555' where id<2;
23.在shouji字段上对前8个字符创建普通索引
alter table test add index shouji(shouji(8));
24.查看创建的索引及索引类型等信息
show index from test;
show index from test\G
25.删除name,shouji列的索引
alter table test drop index name;
alter table test drop index shouji;
26.对name列的前6个字符以及shouji前8个字符组建联合索引
alter table test add index lianhe(name(6),shouji(8));
27.查询shouji以135开关,名字为rich的记录,提前插入记录
insert into test values(6,38,'rich',13567894561);
select from test where name='rich';
select from test where name='rich' and shouji like '135%';
28.查询上述语句的执行计划(是否使用联合索引等)
- explain select * from test where name='rich' and shouji like '135%';
对于以上MySQL中简单语句如何应用相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341