mysql 一些基础知识一


一、链接服务器:在命令提示符下
    mysql -h localhost -uroot -p123456
    登陆服务器时顺便选择一个数据库
    mysql db -h localhost -u root -p 123456 
    退出MYSQL命令: exit (回车)
2.修改密码:在命令提示符下
    mysqladmin -h localhost -u root -p 123456 password 新密码
    mysqladmin -uroot password yourpasswd 为root添加密码
    set password for root@localhost=password('yourpasswd');//登录后改密码
3.导出数据库:在命令提示符下
    mysqldump -u root -p123456 wenzhang > 1.sql
    mysqldump (-h localhost) -u root -p 123456 数据库名 表名> c:\2.sql
4.导出数据库,只带结构:在命令提示符下
    mysqldump   -h localhost -u root -p 123456 数据库名 -d>c:\2.sql
5.导入数据库:在命令提示符下
    mysql  -h localhost -u root -p 123456 数据库名< c:\2.sql
6.建立数据库DB
    create database 
7.查看数据库
    show databases;
8.删除数据库
    drop database 数据库名;
9.选用数据库
    use 数据库名;
10.查看当前正在使用的数据库
    select database();
11.查看当前的日期和时间
    select now();
12.查看当前的用户
    select user();
13.查看当前的版本
    select version();
14.查看数据表
    show tables;
查看建立表的代码
    show create table 表名
15.查看表结构
    describe  表名称  |  desc 表名称;
    SHOW FIELDS FROM 
16.给表添加一列
    alter table 表名 add 列名 属性;
17.修改表的字段类型
    alter table 表名 modify 字段 新类型;
18.修改表的字段名称
    alter table 表名 change 字段 新字段 类型;
19.删除字段
    alter table 表名 drop 字段;
20.修改表名
    alter table admin rename to admin1;
    REPAIR TABLE 修复表
    OPTIMIZE TABLE 优化表
    SHOW KEYS FROM mysql

21.新增用户sql

    增长一个用户test1密码为abc,让他能够在任何主机上登陆,并对全部数据库有查询、插入、修改、删除的权限
    grant select,insert,update,delete on *.* to test2@localhost identified by \"abc\";数据库

    若是你不想test2有密码,能够再打一个命令将密码消掉。
    grant select,insert,update,delete on mydb.* to test2@localhost identified by \"\";缓存

 
     显示当前mysql版本和当前日期
    select version(),current_date;服务器

22 优化 explain ide

 分析结果的含义:
  1)table:表名;
  2)type:链接的类型,(ALL/Range/Ref)。其中ref是最理想的;
  3)possible_keys:查询能够利用的索引名;
  4)key:实际使用的索引;
  5)key_len:索引中被使用部分的长度(字节);
  6)ref:显示列名字或者"const"(不明白什么意思);
  7)rows:显示MySQL认为在找到正确结果以前必须扫描的行数;性能

2三、使用optimize table
  对于常常修改的表,容易产生碎片,使在查询数据库时必须读取更多的磁盘块,下降查询性能。具备可变长的表都存在磁盘碎片问题,这个问题对blob数据类型更为突出,由于其尺寸变化很是大。能够经过使用optimize table来整理碎片,保证数据库性能不降低,优化那些受碎片影响的数据表。 optimize table能够用于MyISAM和BDB类型的数据表。实际上任何碎片整理方法都是用mysqldump来转存数据表,而后使用转存后的文件并从新建数据表;优化

2四、使用not null和enum
  尽可能将列定义为not null,这样可以使数据的出来更快,所需的空间更少,并且在查询时,MySQL不须要检查是否存在特例,即null值,从而优化查询;
  若是一列只含有有限数目的特定值,如性别,是否有效或者入学年份等,在这种状况下应该考虑将其转换为enum列的值,MySQL处理的更快,由于全部的enum值在系统内都是以标识数值来表示的;加密

2五、使用procedure analyse()
  可使用procedure analyse()显示最佳类型的建议,使用很简单,在select语句后面加上procedure analyse()就能够了;例如:
  select * from students procedure analyse();
  select * from students procedure analyse(16,256);
  第二条语句要求procedure analyse()不要建议含有多于16个值,或者含有多于256字节的enum类型,若是没有限制,输出可能会很长;.net

 2六、使用查询缓存
  1)查询缓存的工做方式:
  第一次执行某条select语句时,服务器记住该查询的文本内容和查询结果,存储在缓存中,下次碰到这个语句时,直接从缓存中返回结果;当更新数据表后,该数据表的任何缓存查询都变成无效的,而且会被丢弃。
  2)配置缓存参数:
  变量:query_cache _type,查询缓存的操做模式。有3中模式,0:不缓存;1:缓存查询,除非与 select sql_no_cache开头;2:根据须要只缓存那些以select sql_cache开头的查询; query_cache_size:设置查询缓存的最大结果集的大小,比这个值大的不会被缓存。

2七、调整硬件   1)在机器上装更多的内存;   2)增长更快的硬盘以减小I/O等待时间;   寻道时间是决定性能的主要因素,逐字地移动磁头是最慢的,一旦磁头定位,从磁道读则很快;   3)在不一样的物理硬盘设备上从新分配磁盘活动;   若是可能,应将最繁忙的数据库存放在不一样的物理设备上,这跟使用同一物理设备的不一样分区是不一样的,由于它们将争用相同的物理资源(磁头)。

相关文章
相关标签/搜索