开始收集mysql的各种命令

来源:互联网 发布:mac怎么清理缓存垃圾 编辑:程序博客网 时间:2024/06/07 05:14

  这里收集各种Mysql的基础知识,为了某些场合的需要,还是舍弃navicat之类的工具乖乖用命令行吧   

 

(注意有的命令需要分号有的不需要)

一.基本操作

  1.登录

     mysql -h主机名 -u 用户名 -p密码 数据库名

         这里需要注意的是-u用户名之间可以有空格,而-p密码之间决不能有空格,你可以不填密码,当然用户名你也可以不填,但是会以空的用

     户名来登录,然后操作数据库的时候会有很多限制,诸如之类的Access denied for user ''@'localhost' to database错误.

         还有,不要在后面加分号;

  2.创建用户

     grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";

          这里注意的是一定要是最很高权限的用户才可以操作,一般就是root,不嫌麻烦的话也可以直接切入mysql这个数据库把数据添加进

       user表里.这里给个例子:grant select,insert,update,delete on *.* to Rye@loaclhost Identified by "1234"

          如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%".

  3.创建超级用户

     grant all privileges on *.* to 用户名@登录主机 identified by "密码" with grant options; 

  4.修改用户

     命令与上面一样,可以修改权限和密码

  5.修改root 密码

     这个时候要在未登录的状态下(也就是先exit退出)使用命令 mysqladmin -u 用户名 -p密码 password 新密码

  6.关闭启动

     net stop mysql  (未登录状态下) 关闭mysql

     net start mysql  (未登录状态下) 开启mysql

  7.退出mysql

     quite或者exit 

 

二.操作数据库

  1.show databases;            显示可供操作的数据库,有时候你会发现并没有显示全面,那是因为权限不够。

  2.use 数据库名;      选择进入某个数据库。

  3.create database 数据库名;         创建一个数据库

  4.drop database 数据库名;            删除一个数据库

  5.导出数据

     mysqldump -u 用户名 -p密码 数据名 表名 > 导出的文件名

  6.导入数据

     ①source方法

        source 脚本

        这里首先要进入数据库才可以导入

     ②mysqlimport

        貌似我这个版本不支持??

     ③mysql -u用户名 -p密码 数据库 < 脚本 

三.基本sql语句

   1.select * from 表名;     显示所有数据;

   2.insert into 表名 (xx,xx,xx,xx) values ('xxx','xxx','xxx','xxx');  需要注意前面的字段名不需要引号

   3.delete from 表名;

 

四.操作表

  1.创建表

     create table  表名

     (列表名称1 数据类型,

        列表名称2 数据类型,

        ...........,

         列表名称N  数据类型

       );

   2.drop table 表名;       删除表

   3.describe 表名;       显示表的结构.

       或者desc 表名;

   4.show tables;        显示所有表.

 

五.触发器trigger

   1.创建触发器

      create trigger 触发器名称 触发时间 触发事件 on 表名

      for each row

      begin

         语句

      end ;

      说明:触发时间:有before和after两种

             触发事件:insert/update/delete

 

     这里要注意的是,如果你用的是命令行,那么最后的end与;之间请务必隔开,或者换行,否则会出错

   2.删除触发器

      drop trigger 触发器名称

   3.NEW与OLD

      用在触发器的语句里,用来访问更新前后的数据

 

 六.索引index

    首先索引有四大类,为主键,唯一索引,全文索引,普通索引

   1.创建索引

      ①主键:唯一且没有Null值

         例:创建表时创建主键     create table test (id int not null,primary key(id));

             对已有的表创建主键  alter table test modify id int not null,add primary key(id);   

      ②普通索引:允许重复的值出现

         例:create index test_index on test(id);

             alter table test add index test_index(id);

      ③全文索引:用来对大表的文本域索引

         例:create fulltext test_index on test(name);

             alter table test add fulltext test_index(name);

             需要注意的是name必须是varchar之类的文本域

      ④唯一索引:除了不能有重复记录外其他和普通索引一样

         例:创建表时:   create table test (id int,name varchar(20),unique test_index(id));

             更改表时:   alter table test add unique test_index (id);

      注意:如果创建索引的时候未指定索引名称,则索引名称默认为相应的字段名称,如果同时设定了多个字段,那么就默认取第一个字段

七.存储引擎

    1.show engines;   显示Mysql支持的存储引擎

 

 

 

 

 

 

 

 

今天先到这里,下次继续,欢迎补充

原创粉丝点击