一.初识MySql语句

1.操作文件夹(库)

(1).增

create database db1 charset utf8;

(2).查

# 查看当前创建的数据库
show create database db1;

# 查看所有的数据库
show databases;

(3).改

alter database db1 charset gbk;

(4).删

drop database db1;

2.操作文件(表)

use db1;    #切换文件夹

select database();    #查看当前所在文件夹

(1).增

create table t1(id int, name char);

(2).查

#查看当前的这张t1表
show create table t1;

#查看所有的表
show tables;

#查看表的详细信息
desc t1;

(3).改

#modify修改的意思
alter table t1 modify name char(6);

#改变name为大写的Name
alter table t1 change name Name char(7);

(4).删

#删除表
drop table t1;

3.操作文件内容(记录)

(1).增

#插入一条数据,规定id,name数据类型
insert t1(id,name) values(1,"wahaha"),(2,"shuangww"),(3,"ruwawa");

(2).查

select id from db1.t1;
select id,name from db1.t1;
select * from db1.t1;

(3).改

update db1.t1 set name = "jianhao";
update db1.t1 set name = "gailun" where id = 2;

(4).删

delete from t1;
delete from t1 where id = 2;

二.库的操作

1.系统数据库

执行如下命令,查看系统库

show  databases;

information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息,列信息,权限信息,字符信息等

performance_schema: MySQL 5.5开始新增一个数据库:主要用于手机数据库服务器性能参数,记录处理查询请求时发生的各种事件,锁等现象

MySql: 授权库,主要存储系统用户的权限信息

test: MySql数据库系统自动创建的测试数据库

2.创建数据库

(1).求救语法:

help create database;

(2).创建数据库语法

create database 数据库名 charset utf8;

(3).数据库命名规则:

可以由字母,数字,下划线,@, #, $
区分大小写
唯一性 
不能使用关键字如: create select
不能单独使用数字
最长128位
# 基本上跟python或者JS的命名规则一样

3.数据库相关操作

#查看数据库
show databases;

#查看当前库
show create database db1;

#查看所在的库
select database();

#选择数据库
use 数据库名;

#删除数据库
drop database 数据库名;

#修改数据库
alter database db1 charset utf8;

4.了解内容

SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型:
1、DDL语句    数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER

2、DML语句    数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT

3、DCL语句    数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

View Code

三.补充内容:MySql创建用户和授权

1.权限管理

我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作,包括select, update, delete, update, grant等操作,那么一般情况在公司之后DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限),那么这时就需要我们来简单了解一下:

  • 如何创建用户和密码
  • 给当前的用户授权
  • 移除当前用户的权限

如果你想创建一个新的用户,则需要一下操作:

(1).进入到MySql数据库下

mysql> use mysql
Database changed

(2).对新用户增删改查

1.创建用户
#指定IP:192.118.1.1的wahaha用户登录
create user "wahaha"@"192.118.1.1" identified by "123";

#指定IP:192.118.1.开头的wahaha用户登录
create user "wahaha"@"192.118.1.%" identified by "123";

#指定任何IP的wahaha用户登录
create user "wahaha"@"%" identified by "123";

2.删除用户
drop user "用户名"@"IP地址";

3.修改用户
rename user "用户名"@"IP地址" to "新用户名"@"IP地址";

4.修改密码
set  password for "用户名"@"IP地址" = Password("新密码");

5.查看用户
SELECT DISTINCT CONCAT(\'User: \'\'\',user,\'\'\'@\'\'\',host,\'\'\';\') AS query FROM mysql.user;

(3).对当前的用户授权管理

#查看权限
show grants for "用户"@"IP地址";

#授权wahaha用户仅对db1.t1文件有查询,插入和更新的操作
grant select, insert, update on db1.t1 to "wahaha"@"%";

#表示右所有的权限,除了grant这个命令,这个命令是root独有的,wahaha用户对db1下的t1文件有任意操作
grant all privileges on db1.t1 to "wahaha"@"%";
#wahaha用户对db1数据库中的文件执行任何操作
grant all privileges on db1.* to "wahaha"@"%";
#wahaha用户对所有数据库中文件有任何操作
grant all privileges on *.* to "wahaha"@"%";

#取消权限

#取消wahaha用户对db1的t1文件的任意操作
revoke all on db1.t1 from "wahaha"@"%";

#取消来自远程服务器的wahaha用户对数据库db1的所有表的权限
revoke all on db1.*from "wahaha"@"%";

#取消来自远程服务器的wahaha用户所有数据库的所有的表的权限
revoke all privileges on *.* from "wahaha"@"%";

PS: 在公司中,一般都是DBA工程师来做这些授权工作,给你一个用户名和密码,你来连接就可以了

(4).MySql备份命令行操作

#备份: 数据表结构+数据
mysqdump -uroot db1 > db1.sql -p

#备份:数据表结构
mysqdump -uroot -d db1 > db1.sql -p

#导入现有的数据到某个数据库
#1.先创建一个新的数据库
create database db10;

#2.将已有的数据库文件导入到db10数据库中
mysqdump -uroot -d db10 < db1.sql -p

版权声明:本文为rixian原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/rixian/articles/9794809.html