Mysql的安装与使用


安装

MAC:http://www.jianshu.com/p/a8e4068a7a8a

使用

用户管理

  1. 创建用户
    create user 用户名@IP地址 identified by '密码';
  2. 删除用户
    drop user 用户名@IP地址;
  3. 修改用户
    rename user 用户名@IP地址 to 新用户名@IP地址;
  4. 修改密码
    set password for 用户名@IP地址 = Password(新密码)

例1:
增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
例2:
增加一个用户test2密码为abc, 让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"
例子3
增加一个用户custom,他能从主机localhost、server.domain和whitehouse.gov连接。他只想要从 localhost存取bankaccount数据库,从whitehouse.gov存取expenses数据库和从所有3台主机存取customer 数据库。他想要从所有3台主机上使用口令stupid。

1
2
3
4
shell> mysql --user=root mysql
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON bankaccount.* TO custom@localhost IDENTIFIED BY 'stupid';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON expenses.* TO custom@whitehouse.gov IDENTIFIED BY 'stupid';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON customer.* TO custom@'%' IDENTIFIED BY 'stupid';

数据类型

  1. 数值
  2. 字符串
  3. 二进制数据
  4. 时间
  5. 集合

SQL语句

服务器级别

  1. 连接服务器
    mysql -u用户名 -hMySQL服务器地址 -p用户密码
    例:shell> mysql -uroot -hlocalhost -p11111111
  2. 断开服务器
    例:mysql> quit;
  3. 停止MySQL服务
    例:shell> net stop mysql
  4. 启动MySQL服务
    例:shell> net start mysql

数据库级别

  1. 显示所有的数据库
    SHOW DATABASES;
  2. 创建数据库
    CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  3. 使用数据库
    USE 数据库名称;
  4. 删除数据库
    mysql> drop database 数据库名称;

表级别

  1. 显示具体数据库所有的表
    show tables;
  2. 查看表结构
    describe 数据表名
    show columns from 数据库名.数据表名;
    例:mysql> describe student;
    例:mysql> show columns from student.name;

  3. 创建表
    create table 表名(字段名1 字段1数据类型, 字段名2 字段2数据类型);
    例:mysql> create table tb1(nid int, name varchar(10));

  4. 修改表结构
    alter table 数据表名 相关操作
    例:mysql> alter table student add email varchar(50) not null, modify passwd varchar(40);//添加一个新字段email,类型为varchar(50),not null,将字段passwd的类型改为varchar(40)

  5. 重命名表
    rename table 旧表名 to 新表名;
    例:mysql> rename table student to students;
  6. 删除表
    drop table 表名;
  7. 清空表内容(速度慢)
    delete from 表名;
  8. 清空表内容(速度块,自增回到原点)
    truncate table 表名;

数据行级别


  1. insert into 表名(字段名...) values(字段值1),(字段值2);
    例:mysql> insert into student(name,age) values('alex', 18),('eric', 19),('eric', 19);

  2. delete from 数据表名 where 条件
    例:mysql> delete from student where name='eric'; //一般条件是指定id删除的,没有where条件则删除整个表

  3. update 数据表名 set 字段名1=新的值1,字段名2=新的值2,.. [where 条件];
    update student set age='18',email='15707950645@163.com' where name='alex';
  4. 连表操作
    select * form a,b where a.x = b.o
    select * from a LEFT OUTER JOIN b ON a.x = b.o
    select * from a inner JOIN b ON a.x = b.o

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2018 海球的博客 All Rights Reserved.

UV : | PV :