综述:今天在mac上重新安装了mysql,对于mysql的基本命令重新整理了一下,之后会对内容进行进一步的补充和修改。
1.mac 下mysql的安装目录
/usr/local/mysql/,如果想在命令行下使用mysql,需要将/usr/local/mysql/bin/加入到环境变量。编辑~/.bash_profile 添加PATH=${PATH}:/usr/local/mysql/bin
使得环境变量立即生效,source ~/.bash_profile
2.更改root用户的密码
mysqladmin -u root password root
以上命令更改root密码为root
mysql -u root -p password root
****
如果用户root已经设置过密码了,需要使用以上命令,输入密码然后完成修改。
3.以root用户登录
本地登录:mysql -u root -p root
登录远程数据库:mysql -h 192.168.5.116 -P 3306 -u root -p123123
或者隐藏密码:mysql -h 192.168.5.116 -P 3306 -u root -p
Enter password:****
4.配置mysql允许远程连接
默认情况下mysql是不允许用户从远程登录的,只允许localhost登录。以下提供两种方式来设置mysql可以被远程访问:
(1)改表法:
mysql -u root -p
Enter password:****
mysql>
mysql>update user set host=‘%’ where user=‘root’;
mysql>select host,user from user;
(2)授权法:
mysql>grant all privileges on *.*to 'myuser’@‘%’IDENTIFIED BY ‘mypassword’ with grant option;
允许用户myuser通过任意ip通过密码’mypasswrod’登录。
mysql>flush privileges
使得修改生效。
5.退出mysql
mysql>exit
6.增加用户
mysql>grant select,insert,update,delete on*.* to user1@‘%’ identified by ‘abc’;
//允许用户user1在任何主机上通过密码’abc’登录;
mysql>grant select,insert,update,delete on *.* to user2@localhost identified by ‘abc’;
//允许用户user2在本地以密码’abc’登录,拥有对所有数据库数据表的权限,如果你不希望用户user3有密码可以使用以下命令
mysql>grant select,insert,update,delete ont *.* to user3@localhost identified by ‘’;
7. 创建数据库
创建数据库db01:mysql>create database db01;
创建数据库并分配用户:mysql>create datebase db02;
mysql>grant select,insert on db02.* to user01@localhost identified by ‘password’;
8.显示数据库
show databases;//注意以后的s
9.删除数据库
删除一个数据库:mysql>drop database db01;
删除一个不确定存在的数据库:mysql>drop database if exists db01;
10.连接数据库(切换数据库)
mysql>use db01;
mysql>select * from table01;
mysql>use db02;
mysql>select * from table02;
使用use语句为一个特定的当前数据库做标记,不会阻碍您访问的其他数据库中的表。
11.当前选择的数据库
mysql>select database();
注:myql重点select类似其他编程语言的print,可以用于显示字符串或者表达式
比如:
(1)mysql>select version();//当前数据库的版本
(2)mysql>select now();//显示当前时间
(3)mysql>select dayofmounth(curren_date);//显示年月日
(4)select month(current_date);//当前月份
……
12.创建数据表
mysql>create table student(
>id int(4) not null primary key auto_increment,
>name char(100) not null;
>age int(4) default 0);
13.删除数据表
mysql>drop table student;
mysql>drop table student if exists;
14.向表插入数据
mysql>insert into <表名> [字段名字]values [字段值];
示例:
mysql>insert into student (name,age) values (1,‘chen’,20);
mysql>insert into student values (2,’ding’,25),(3,’wang’,26);
15.查询表中的数据
select * from student;
select * from student;
16.删除表中的数据
命令:delete from table name where expression;
例如:删除表中id为1000的行;
mysql>delete from student where id=1000;
17.修改表中的数据
mysql>update student set name=‘ding’ where id=1000;
18.增加字段
mysql>alter table student add gender int(4) default ‘0’;//增加性别列
mysql>alter table student add index indename(id);//增加索引
mysql>alter table student add unique indexname(id);//加唯一限制条件的索引;
mysql>alter table student drop index indexname;//删除索引
mysql>alter table student change age ages int(4);//更改原字段名字和类型
mysql>alter table student drop age;//删除字段
19.修改数据库名
mysql>rename table pre_name to new_name;
20.备份数据库
(1)导出整个数据库:
mysqldump -u root -p databasename > exportfilename
例如:
mysqldump -u root -p school > school.sql;
(2)导出一个表:
mysqldump -u root -p database name table_name > table.sql
(3)导出一个数据库结构(不带数据)
mysqldump -u root -p -d -add-drop-table database_name > database.sql
(4)带语言参数导出
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql