1.登录mysql
1.1 使用默认3306端口登录MySQL
mysql -u root -p
1.2 设置通讯协议、IP和端口来登录MySQL
mysql -u root -p --protocol=tcp --host=localhost --port=3307
2.数据库操作
2.1 显示服务器上当前存在数据库。
show databases;
2.2 创建数据库,名称为dbtest。
create database dbtest;
2.3 删除数据库, 名称为dbtest。
drop database dbtest;
2.4 选择dbtest数据库
use dbtest;
3.表操作
登录MySQL后,要通过use命令选择一个数据库,在这个数据库上进行表操作。
3.1 显示当前数据库中存在什么表
show tables;
3.2 创建数据库表,表名称为mytable,存储引擎为InnoDB,字段id为主键、唯一索引
语法:create table table_name (字段1 数据类型 , 字段2 数据类型);
create table mytable (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
age int(3) DEFAULT NULL,
phone varchar(20) DEFAULT NULL,
time datetime DEFAULT NULL,
address text,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
3.3 查看表结构 mytable
describe mytable;
3.4 向表中加入记录
语法:insert into 表名 [(字段1 , 字段2 , ….)] values (值1 , 值2 , …..);
insert into mytable (id, name, age, phone, time, address) values (1, '张伟', 3, 67891234, '2012-02-02 14:32:12','北京市海淀区海淀大街20号');
注:
如果每一条信息都写入的话,可以不在表达式中写属性列表;
insert into mytable values ( 3, '李强', 3, 67891234, '2012-02-02 2:2:2','北京市海淀区海淀大街19号');
如果在属性列表和value值列表中都没有主键,那么主键自动增加,增加的数值在AUTO_INCREMENT=9中进行了设置。
insert into mytable (name, age, phone, time, address) values ( '李强强', 3, 67891234, '2012-02-02 2:2:2','北京市海淀区海淀大街18号');
3.5 从表中检索信息
语法:select 字段1 , 字段2 from table_name [where 字段名=数值 and/or 字段名=数值 …. ] [order by 字段 顺序]
3.5.1、从表中检索所有记录
select * from mytable;
3.5.2、从表中进行条件检索
select * from mytable where phone = 67891234 and age = 3 order by id desc;
3.5.3、从表中检索指定的字段
select name, age from mytable;
3.5.4、从表中检索出唯一的不重复记录:
select distinct age from mytable;
3.6 更新表中的指定信息
语法:Update table_name set 字段名=’新值’ [, 字段2 =’新值’ , …..][where id=id_num] [order by 字段 顺序];
update mytable set address = ‘烟袋斜街10号’where name = ‘李强强’;
3.7 删除表中的信息
删除整个表中的信息(清空表) : delete from table_name;
删除表中指定条件的语句 : delete from table_name where 条件语句 ; 条件语句如 : id=3;
delete from mytable whrer id = 1;
3.8 删除zhangyan表
drop table mytable;
4.用户管理操作
4.1 创建用户
语法: create user ‘username’@’host’ identified by ‘password’;
create user 'temp'@'localhost' identified by '123456';
4.2 查看用户
在MySQL中其实有一个内置且名为mysql的数据库,这个数据库中存储的是mysql的一些数据,比如用户、权限信息、存储过程等,所以可以通过如下简单的查询语句来显示所有的用户。
select user, host from mysql.user
4.3 授权
语法:grant privileges on databasename.tablename to ‘username’@’host’
privileges选项是指用户的操作权限,如select , insert, update等,如果要授予所的权限则使用all。
grant select, insert on test.user to 'temp'@'localhost';
grant all on *.* to 'root2'@'%';
4.4 设置与更改用户密码
语法:set password for ‘username’@’host’ = password (“newpassword”);
如果是当前登陆用户用set password = password(“newpassword”);
set password for 'temp'@'localhost' = password ("123456");
4.5 撤销用户权限
语法: revoke privilege on databasename.tablename from ‘username’@’host’;
revoke all on *.* from 'root2'@'%';
4.6 删除用户
语法: drop user ‘username’@’host’;
drop user 'root2'@'%';