MySQL:
启动:net start mysql
停止:net stop mysql
登录:mysql -u root -p
例如:mysql -uroot -p123 -hlocalhost
退出:exit或者quit
DDL操作:
加上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 表名(列名 列类型,...,列名 列类型);
1 | CREATE TABLE if noe exists t_stu( |
显示当前数据库包含的表:show tables;
显示当前表结构:desc 表名称;
删除表:drop table 表名称;
新增列:alter table 表名 add(列名 列类型,...,列名 列类型);
1 | alter table t_stu add( |
修改列类型:alter table 表名 modify 列名 列新类型;
1 | alter table t_stu modify stu_address varchar(50); |
修改列名:alter table 表名 change 原始列名 新列名 列类型;
1 | alter table t_stu change stu_address stu_addr varchar(100); |
删除列:alter table 表名 drop 列名;
1 | alter table t_stu drop stu_address; |
修改表名:alter table 原始表名 rename to 新表名;
DML操作:
为了好操作,先用一下查询的命令,查询表的所有记录: select * from 表名;
插入一行记录:INSERT INTO 表名 (列名,...,列名)VALUES(列值,...,列值);
1 | INSERT INTO t_stu( |
修改所有数据:update 表名 set 列名=列值,...,列名=列值;
1 | update t_stu set name='wangwu'; |
修改数据(单个条件):update 表名 set 列名=列值,...,列名=列值 where 列名=列值;
1 | update t_stu set stu_name='zhangsan' where stu_num='testNum_00001'; |
修改数据(多个条件):update 表名 set 列名=列值,...,列名=列值 where 列名=列值 or 列名=列值;
1 | //or,或者 |
删除记录:DELETE FROM 表名 where ...;
1 | //这里where后面的条件跟前面的update是一样的写法 |
DCL操作:
创建用户:
1 | //只要是写用户名的位置都可以设置固定ip,或者不固定ip |
给用户授权:
1 | GRANT 权限1,权限2,...,权限n ON 数据库名称.* TO 用户名@ip地址; |
撤销权限:
1 | REVOKE 权限1,权限2,...,权限n ON 数据库名称.* FROM 用户名@'%'; |
查看用户权限:
1 | SHOW GRANTS FOR 用户名@ip地址; |
删除用户:
1 | DROP USER 用户名@ip地址; |