mysql常见操作

函数:https://blog.csdn.net/sinat_38899493/article/details/78710482

导入导出
导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名,如

  ./mysqldump -u root -p userinfo > /home/appadmin/data/infobak.sql

创建数据库

CREATE DATABASE IF NOT EXISTS aux_business DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

更新密码

  update mysql.user set password=password('ACr8X*2G') where user='root';

创建用户

CREATE USER 'appadm'@'%' IDENTIFIED BY 'sdPlcOjULIefds0RqjYzCi8';
    
select host,user from mysql.user;

授权

grant all privileges on *.* to root@'%' identified by 'ACr8X*2G'; 
grant all privileges on *auxmeeting.* to 'aux'@'%'identified by 'aux999' with grant option;
grant select,insert,update,delete on test.* to appadm@"localhost" identified by "123456"; 
grant alter on test.* to appadmuser@"localhost" identified by "123456"; 
grant lock tables on appadm.* to appadmuser@'localhost';
grant drop on appadm.* to appadmuser@'localhost';
grant drop on appadm.* to appadmuser@'%';

flush privileges;

show

1. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称。 
2. show databases; -- 显示mysql中所有数据库的名称。 
3. show columns from table_name from database_name; 或show columns from database_name.table_name; -- 显示表中列名称。 
4. show grants for user_name; -- 显示一个用户的权限,显示结果类似于grant 命令。 
5. show index from table_name; -- 显示表的索引。 
6. show status; -- 显示一些系统特定资源的信息,例如,正在运行的线程数量。 
7. show variables; -- 显示系统变量的名称和值。 
8. show processlist; -- 显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户可以查看他们自己的进程,但是如果他们拥有process权限,就可以查看所有人的进程,包括密码。 
9. show table status; -- 显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间。 
10. show privileges; -- 显示服务器所支持的不同权限。 
11. show create database database_name; -- 显示create database 语句是否能够创建指定的数据库。 
12. show create table table_name; -- 显示create database 语句是否能够创建指定的数据库。 
13. show engines; -- 显示安装以后可用的存储引擎和默认引擎。 
14. show innodb status; -- 显示innoDB存储引擎的状态。 
15. show logs; -- 显示BDB存储引擎的日志。 
16. show warnings; -- 显示最后一个执行的语句所产生的错误、警告和通知。 
17. show errors; -- 只显示最后一个执行语句所产生的错误。 
18. show [storage] engines; --显示安装后的可用存储引擎和默认引擎。

创建表

create table person(id int not null auto_increment,
    name varchar(8),
    birthday datetime,
    constraint pk__person primary key(id));

增删改查

INSERT INTO student(id,name,grade) VALUES (1,'zhangshan',98);
INSERT INTO student SET id=4,name='zhaoliu',grade=72;
INSERT INTO student VALUES (5,‘lilei’,99),(6,'hanmeimei',87),(8,'poly',76);

TRUNCATE TABLE student;

UPDATE student SET name=‘caocao’,grade=50 WHERE id=1;

DELETE  FROM student WHERE id=7;

1.修改表名

alter table test_a rename to sys_app;

2.修改表注释

alter table sys_application comment '系统信息表';

3、添加字段

ALTER TABLE card_apply ADD (qr_fileid VARCHAR (64) COMMENT '二维码文件id',manager_add_time INT (11) UNSIGNED DEFAULT '0' COMMENT  '升级为经理的时间')

4、修改字段

alter table sys_application  modify column app_name varchar(20) COMMENT '应用的名称';
4、
增加主键 
alter table t_app add aid int(5) not null ,add primary key (aid); 
alter table t_app add aid int(5) not null auto_increment ,add primary key (aid); 

修改

alter table t_app  modify column aid int(5) auto_increment ;
alter table t_app change name app_name varchar(20) not null;


在某个字段后增加字段
alter table `t_app` add column gateway_id int  not null default 0 AFTER `aid`; #(在哪个字段后面添加)  
调整字段顺序 
alter table t_app  change gateway_id gateway_id int not null after aid ; #(注意gateway_id出现了2次)

删除字段

alter table t_app drop aid; 

索引

1、主键索引 PRIMARY KEY
2、唯一索引 UNIQUE

ALTER TABLE user ADD UNIQUE (name);

ALTER TABLE user ADD UNIQUE (name,age);--创建唯一组合索引

3、普通索引 INDEX

ALTER TABLE user ADD INDEX index_name (name);

4、组合索引 INDEX

ALTER TABLE user ADD INDEX index_name(name, age);

5、全文索引 FULLTEXT

ALTER TABLE user ADD FULLTEXT (remark);

索引设计的原则
适合索引的列是出现在where子句中的列,或者连接子句中指定的列

基数较小的类,索引效果较差,没有必要在此列建立索引

使用短索引,如果对长字符串列进行索引,应该指定一个前缀长度,这样能够节省大量索引空间

不要过度索引。索引需要额外的磁盘空间,并降低写操作的性能。在修改表内容的时候,索引会进行更新甚至重构,索引列越多,这个时间就会越长。所以只保持需要的索引有利于查询即可。
通过SHOW STATUS LIKE 'Handler_read%';查看索引的使用情况:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 三年前去过一次舟山普陀山,据说许愿是要还愿的,于是决定6月5号去。整个路途谈不上美好,舟车劳顿五个小时,我再次...
    dfdfaa601c89阅读 518评论 1 0
  • 在上大学以前,从来没有考虑过将来会做什么样的工作,或许曾经考虑过也是不太现实的,比如说成为科学家,天文学家,不过作...
    yimy201314阅读 249评论 0 0
  • 毕业两年我过着近乎安逸又烦闷的生活,朝九晚五,每日仅仅围绕着上班而活。有时你高兴便缄口不言,有时你忧郁便会生出...
    是灵魂啊_阅读 277评论 0 0
  • 真想告诉你我不喜欢你,不要跟我说你懂多少,不要告诉我你为我好,不要发朋友圈说你帮助我,却被我当做理所当然。 我不喜...
    像只傻瓜一样生活阅读 198评论 0 2
  • 转自--健达儿童健康管理今日分享: 孩子生病的先兆 1.鼻旁,鼻周,嘴周变青 孩子脾胃肺受寒 2.下眼睑颜色变化 ...
    Cindy1112阅读 196评论 0 0