msyql数据库简单操作及事务和索引

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了msyql数据库简单操作及事务和索引相关的知识,希望对你有一定的参考价值。

msyql数据库简单操作及事务和索引

Msyql数据库操作:
[[email protected] ~]# mysql -u root -p //进入数据库中
技术分享图片

mysql> show databases; //查看所有数据库

技术分享图片
mysql> use mysql; //进入mysql数据库

技术分享图片
mysql> show tables; //查看数据库中的表

技术分享图片

mysql> desc user; //查看表的结构
技术分享图片

mysql> create database auth; //创建新的空库
技术分享图片

mysql> show databases;
如图,显示所有库命令下,刚创建的库在其中
技术分享图片
[[email protected] ~]# ls /usr/local/mysql/data/
技术分享图片
如图多了一个auth目录
mysql> show tables; //查看auth数据库中的表
技术分享图片
库里没有表

mysql> create table users(user_name CHAR(16) NOT NULL,user_passwd CHAR(48)DEFAULT‘‘,PRIMARY KEY (user_name));
//在auth库中创建users表,并指定主键

技术分享图片
mysql> desc users; //查看users表的结构

技术分享图片
mysql> drop table auth.users; //删除auth库中的users表
技术分享图片

mysql> insert into users(user_name,user_passwd) values(‘zhangsan‘,password(‘123123‘));
//在users表中插入数据内容zhangsan,密码为密文密码
技术分享图片

mysql> insert into users(user_name,user_passwd) values(‘lisi‘,‘123123‘);
//在users表中插入数据内容lisi,密码为明文密码123123
技术分享图片
mysql> insert into users values(‘wangwu‘,‘123abc‘);
//在users表中插入数据内容wangwu,密码为明文密码123abc
注:在插入新的数据内容时,如果这条记录完整包括表中所有字段的值,则插入语句中指定字段的部分可省略
技术分享图片

mysql> insert into users values(‘jack‘,password(‘123abc‘));
//在users表中插入数据内容wangwu,密码为密文密码
技术分享图片

mysql> select from users; //查看users表中数据记录
技术分享图片
mysql> select
from users \G // \G 表示竖状显示出来
技术分享图片

mysql> update users SET user_passwd=PASSWORD(‘‘) WHERE user_name=‘lisi‘;
//修改users表中用户名为lisi的记录,将密码子串设为空值
mysql> select * from users;//查看修改后的结果
技术分享图片

跳过授权表重置root密码----破解root密码
[[email protected] ~]# vi /etc/my.cnf //修改mysql主配置文件

skip_grant_tables

技术分享图片
[[email protected] ~]# service mysqld restart
[[email protected] ~]# mysql //直接输 mysql 回车
技术分享图片

mysql> update mysql.user set authentication_string=password(‘123456‘) where user=‘root‘;
//在mysql库users表中将用户名为root的密码修改为123456的密文形式
技术分享图片
mysql> flush privileges; //刷新权限
技术分享图片
修改完成后进入的mysql主配置文件中将skip_grant_tables删除后重启mysql
[[email protected] ~]# service mysqld restart
技术分享图片
现在用mysql登录会报错
[[email protected] ~]# mysql -u root -p
技术分享图片

mysql> delete from users where user_name=‘lisi‘; //删除auth库中users表中的用户名为lisi的记录
技术分享图片
mysql> drop database aa; //删除数据库aa
技术分享图片

索引
mysql> use imployee_salary;
mysql> show tables; //查看imployee_salary库中的表
技术分享图片
mysql> select * from IT_salary; //查询IT_salary表中的数据记录
技术分享图片
普通索引
mysql> create index salary_index on IT_salary(薪资);
//为IT_salary表的薪资列,创建普通索引salary_index
技术分享图片

mysql> show index from IT_salary; //查看普通索引
技术分享图片

唯一性索引
mysql> create unique index salary_unique on IT_salary(姓名);
//IT_salary表的姓名列创建唯一性索引salary_unique
技术分享图片
mysql> show index from IT_salary;
技术分享图片
mysql> alter table IT_salary add primary key(员工ID);
技术分享图片
这个报错,是提醒已有主键了,之前已经设置过主键了

事务,将操作语句做为一个整体提交后进行批量执行--
mysql> use auth;
mysql> begin;
mysql> insert into users values(‘tom‘,password(‘123abc‘));
mysql> insert into users values(‘lucy‘,password(‘123abc‘));
技术分享图片
然后再开一个远程登录看一下,有木有将数据记录插入进去表中
技术分享图片
mysql> commit; //提交
技术分享图片
再看一下
技术分享图片
现在有了,事务一般用于脚本中

以上是关于msyql数据库简单操作及事务和索引的主要内容,如果未能解决你的问题,请参考以下文章

数据库的数据类型索引锁事务和视图

事件视图索引介绍及案例

思维导图模式 -- 深度理解及复习数据库知识

思维导图模式 -- 深度理解及复习 数据库 知识

10.mysql事务管理及python操作

msyql 的半同步复制