个人博客:haichenyi.com。感谢关注
启动:net start mysql
停止:net stop mysql
登录:mysql -u root -p
例如:mysql -uroot -p123 -hlocalhost
退出:exit或者quit
加上if exists或者if not exists:都是如果存在,或者如果不存在,就不做相关操作
查询当前有哪些数据库:show databases;
创建数据库:CREATE DATABASE if not exists 数据库的名字 CHARSET=utf8;
例如:CREATE DATABASE if not exists employee CHARSET=utf8;创建一个编码为utf-8的employee数据库。不存在就创建,存在就不管。
删除数据库:DRAP DATABASE if exists 数据库名称;
例如:DRAP DATABASE if exists employee;删除employee数据库,如果存在就删除,不存在就不管。
修改数据库编码方式:ALTER DATABASE 数据库名称 CHARACTER SET utf8;
切换数据库:use 数据库名称;
创建表:CREATE TABLE if not exists 表名(列名 列类型,...,列名 列类型);
CREATE TABLE if noe exists t_stu(
stu_num char(11),
stu_name varchar(50),
stu_age int,
stu_sex varchar(10)
);
显示当前数据库包含的表:show tables;
显示当前表结构:desc 表名称;
删除表:drop table 表名称;
新增列:alter table 表名 add(列名 列类型,...,列名 列类型);
alter table t_stu add(
stu_address varchar(100),
stu_phone char(11)
);
修改列类型:alter table 表名 modify 列名 列新类型;
alter table t_stu modify stu_address varchar(50);
修改列名:alter table 表名 change 原始列名 新列名 列类型;
alter table t_stu change stu_address stu_addr varchar(100);
删除列:alter table 表名 drop 列名;
alter table t_stu drop stu_address;
修改表名:alter table 原始表名 rename to 新表名;
为了好操作,先用一下查询的命令,查询表的所有记录: select * from 表名;
插入一行记录:INSERT INTO 表名 (列名,...,列名)VALUES(列值,...,列值);
INSERT INTO t_stu(
stu_num,stu_name,stu_age,stu_sex,stu_phone
)VALUES(
'test_num_001','张三',18,'man','13888888888'
);
修改所有数据:update 表名 set 列名=列值,...,列名=列值;
update t_stu set name='wangwu';
修改数据(单个条件):update 表名 set 列名=列值,...,列名=列值 where 列名=列值;
update t_stu set stu_name='zhangsan' where stu_num='testNum_00001';
修改数据(多个条件):update 表名 set 列名=列值,...,列名=列值 where 列名=列值 or 列名=列值;
//or,或者
update t_stu set stu_age=28 where stu_num='testNum_0001' or stu_name='zhangliu';
//and,并且
update t_stu set stu_age=28 where stu_age>=25 and stu_age<=30;
//between...and...在什么区间内
update t_stu set stu_age=28 where stu_age between 25 and 30;
//in(...)
update t_stu set stu_age=28 where stu_name in ('zhangsan','lisi');
//is null,是null。不能是stu_name=null
update t_stu set stu_age=28 where stu_name is null;
删除记录:DELETE FROM 表名 where ...;
//这里where后面的条件跟前面的update是一样的写法
DELETE FROM t_stu where stu_age = 28;
创建用户:
//只要是写用户名的位置都可以设置固定ip,或者不固定ip
CREATE USER 用户名@IP地址 IDENTIFIED BY '密码';//固定ip登录
CREATE USER 用户名@'%' IDENTIFIED BY '密码';//任意ip登录
CREATE USER zhangSan@'%' IDENTIFIED BY '123';
给用户授权:
GRANT 权限1,权限2,...,权限n ON 数据库名称.* TO 用户名@ip地址;
GRANT 权限1,权限2,...,权限n ON 数据库名称.* TO 用户名@'%';
GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON school.* TO zhangSan@'%';
//给所有权限
GRANT ALL ON school.* TO zhangSan@'%';
撤销权限:
REVOKE 权限1,权限2,...,权限n ON 数据库名称.* FROM 用户名@'%';
查看用户权限:
SHOW GRANTS FOR 用户名@ip地址;
删除用户:
DROP USER 用户名@ip地址;