MySQL学习——基本命令(1)

时间:2022-04-17 09:12:54

这篇文章主要介绍MySQL添加新用户、为用户创建数据库、为新用户分配权限和MySQL基本命令。

参考博客http://blog.csdn.net/u013216667/article/details/70158452

一、登录MySQL

mysql -u root -p

二、添加新用户

允许本地 IP 访问 localhost, 127.0.0.1

# 第一种添加方式
# username:jasper
# password: 123456
create user 'jaser'@'localhost' identified by '123456'; # 第二种添加方式
# username:laravel_tx
# password: 123456
insert into mysql.user(Host,User,Password) values("localhost","laravel_tx",password("123456"));

允许外网 IP 访问

# username:jasper
# password: 123456
create user 'jaser'@'%' identified by '123456'; # 修改用户密码
update mysql.user set password=password('123456') where User="jasper" and Host="localhost";

三、刷新授权

flush privileges;

四、为用户创建数据库

create database laravel DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

五、为新用户分配权限

授予用户在本地服务器对该数据库的全部权限

 grant all privileges on `laravel`.* to 'jasper'@'localhost' identified by '123456';

指定部分权限给用户

 grant select on laravel.* to laravel_tx@localhost identified by '123456';

六、刷新权限

flush privileges;

七、退出 root 重新登录

exit;

八、新用户登陆

mysql -u jasper -h 127.0.0.1 -p

九、创建数据表

show databases;
use laravel;
CREATE TABLE IF NOT EXISTS tasks (
task_id bigint(20) NOT NULL AUTO_INCREMENT,
subject VARCHAR(45) DEFAULT NULL,
start_date DATE DEFAULT NULL,
end_date DATE DEFAULT NULL,
description VARCHAR(200) DEFAULT NULL,
PRIMARY KEY (task_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 comment='任务信息表';

十、插入一条数据

INSERT INTO tasks ( subject, start_date, end_date,description ) VALUES ( 'laravel框架','2017-11-19', '2017-12-30','有插入权限的用户插入数据');

十一、基本SQL语句

drop database dbname;//删除一个已经确定存在的数据库
alter table 表名 ENGINE=存储引擎名;//修改表的存储引擎
alter table 表名 drop 属性名;//删除字段
alter table 旧表名 rename to 新表名;//修改表名
alter table 表名 modify 属性名 数据类型;//修改字段数据类型
alter table 表名 change 旧属性名 新属性名 新数据类型;//修改字段名
alter table 表名 drop FOREING KEY 外键别名;//删除子表外键约束
alter table example add phone VARCHAR(20);//增加无约束的字段
alter table example add age INT(4) NOT NULL;//增加有约束的字段
alter table example add num INT(8) PRIMARY KEY FIRST;//表的第一个位置增加字段
alter table example add address VARCHAR(30) NOT NULL AFTER phone;//表的指定位置之后增加字段
alter table example modify name VARCHAR(20) FIRST;//把字段修改到第一位
alter table example modify num INT(8) ATER phone;//把字段修改到指定字段之后
# 创建唯一索引
alter table example add unique index_name (column_list);
# 创建普通索引
alter table example add index index_name (column_list)