mysql命令总结

自己的一些总结

设置这个在/etc/profile 可以防止误操作而导致数据库数据丢失。

alias mysql='mysql -U'

修改端口号就是修改 my.cnf 把里面的

[mysqld]

port = 3306 把3306进行修改就可以了。(修改完成后记得重启数据库服务)

查看端口号:

show global variables like 'port';

mysql一般的启动命令 /etc/init.d/mysqld start

mysql一般的关闭命令 /etc/init.d/mysqld stop

mysql重启 /etc/init.d/mysqld restart

mysql重启 /etc/init.d/mysqld reload

检查mysql是否启动 ss -luntp |grep 330

在mysql命令行临时开启自动补全(仅限于临时)

第一步:在mysql下执行 rehash;

第二步:use在一个库中 use mysql;

然后就可以愉快的使用了。

mysql更改密码(前提知道原来密码)假设原来密码lsy123要改成123456

mysqladmin -uroot -plsy123 password 123456

找回mysql密码(就是忘记了mysql密码,要更改)

第一步:先关闭mysql

/etc/init.d/mysqld stop

第二步:忽略授权表登录

mysqld_safe --skip-grant-table --user=mysql &

第三步:启动mysql

/etc/init.d/mysqld start

第四步:登录数据库----并修改密码

mysql

mysql> update mysql.user set password=password('123') where user='root' and host='localhost';

第五步:刷新

mysql> flush privileges;

最后,退出,关闭,重新进入。

mysql内部命令

查看库 show databases;

创建库 create database 库名;

查看建库的参数 show create database 库名;

查看建库的参数-树状显示 show database database 库名\G;

查看当前所在的库 select database();

删除库 drop database 库名;

创建用户管理指定的数据库并设置密码

grant 权限 on 数据库.* to '用户名'@'登录范围' identified by '密码';

grant all on jira.* to 'jira'@'%' identified by 'jirapasswd';

权限:全部 all

插入 INSERT

选择 SELECT

更新 UPDATE

删除 DELETE

修改用户登录密码

update mysql.user set password=password('666666') where user='root' and host='localhost';

切换库 use 库名;

查看当前数据库的用户列表及登录范围 select user,host from mysql.user;

查看当前的登录的用户 select user();

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

查看用户lsy的权限(树状显示)show grants for lsy@localhost\G;

删除用户 delete from mysql.user where 条件;

例子: 删除user='root' 并且host='::1' 的用户

delete from mysql.user where user='root' and host='::1';

删除用户 drop user '用户名'@'主机域';

修改表中的数据和删除表的内容的时候一定一定要加上条件。(否则的话就不是修改一行数据是全部的数据,删除也是一样的道理。)

查看库中所有的表 show tables;

创建表

create table (

,

......

);

create table test(

id int(4) not null,

name char(20) not null,

age tinyint(2) NOT NULL default '0',

dept varchar(16) default NULL

);

查看表信息 desc 表名;

查看表创建时的信息

show create table test;

树状显示:

show create table test\G;

查看表中的内容:

select * from test;

更改表名:

rename table 原表名 to 新表名;

增删改表的字段:

命令语法:alter table 表名 add 字段 类型 其他;

添加表中的数据

单行添加:insert into test (id,name) values (1,'lsy');

多行添加:insert into test (id,name) values (1,'lsy'),(2,'zrr');

修改表中的数据

update test set id=1 where name='lsy';

把test表中id=2的数据name改为bangbnag

update test set name='bangbang' where id=2;

查询表中的数据

查询test表中id列中大于2小于4的行,把他的id、name打印出来。

mysql>select id,name from test where id>2 and id

查询所有的id和name 显示出来:

select id,name from test;

查询前两行:

select * from test limit 2;

查询0-3行:

select * from test limit 0,3;

交集和并集取值:

select * from test where id>1 and name='lsy';

模糊查询:

select * from test where id>1 and name like 'ls%';

顺序查询:

select * from test where id>1 order by id asc;

倒序查询:

select * from test where id>1 order by id desc;

查询表中的最大ID

select max(id) from 表;

select * from t_identificationinfo where id

删除表中的数据

不加任何条件(where)是全部删除,是非常危险的操作,

命令语法:delete from 表名 where 表达式

delete from test where id=1;

delete from test where name='lsy';

清空表中的数据

命令语法:truncate table 表名;

truncate和delete区别

truncate table test;速度更快。直接清空对应数据的物理文件。

查看索引 show index from test\G;

创建普通索引

#name字段上创建普通索引

方法一:

mysql> alter table lsy.test add index index_name(name);

方法二:

mysql> create index index_name on lsy.test(name);

删除普通索引

#name字段上删除普通索引

方法一:

mysql> alter table oldboy.test drop index index_name;

方法二:

mysql>drop index index_name on oldboy.test;

创建主索引

#在id字段上创建主索引

方法一:创建表的时候直接指定

CREATE TABLE `test`(

`id`int(4) NOT NULL AUTO_INCREMENT,

`name` char(20) NOT NULL,

PRIMARY KEY (`id`)

);

方法二:表创建好之后添加

alter table lsy.test add primary key(id);

查看表中的索引;(举例:查看t_masterpic表中的索引)

show index from t_masterpic

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190111G0GKD400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券