自己的一些总结
设置这个在/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
领取专属 10元无门槛券
私享最新 技术干货