Mysql数据库管理

  • SQL语句概述
    • SQL语言
    • SQL分类
  • DDL
    • 创建新的数据库
    • 创建新的表
    • 修改表结构
    • 删除一个数据表
    • 删除一个数据库
    • 克隆表
  • DML
    • 插入数据记录
    • 插入多个数据记录
    • 修改数据记录
  • DQL
    • 查询数据记录
  • DCL
    • 授予权限
    • 查看权限
  • 查看数据库结构
    • 查看数据库信息
    • char与varchar区别
  • 修改默认存储引擎
    • 查看存储引擎
    • 修改默认存储引擎

SQL语句概述

SQL语言

● Structured Query Language的缩写,即结构化查询语言
● 关系型数据库的标准语言
● 用于维护管理数据库
◆ 包括数据查询、数据更新、访问控制、对象管理等功能

SQL分类

● DDL (Data Definition Language, 数据定义语言) :用来建立数据库、数据库对象和定义字段,如CREATE、ALTER、DROP
● DML (Data Manipulation Language, 数据操纵语言) :用来插入、删除和修改数据库中的数据,如INSERT、UPDATE、DELETE
● DQL (Data Query Language, 数据查询语言) :用来查询数据库中的数据,如SELECT
● DCL (Data Control Language, 数据控制语言) :用来控制数据库组件的存取许可、存取权限等,如COMMIT、ROLLBACK、 GRANT、 REVOKE

DDL

创建新的数据库

mysql >CREATE DATABASE auth;

■ 例:

mysql> CREATE DATABASE zz;

创建新的表

CREATE TABLE 表名 (字段 1 名称类型,字段 2 名称类型,…,PRIMARY KEY (主键名) ) #主键:要求字段里的每个值都是唯一的,意义是快速查找实体的标签
■ 例1:

mysql> use zz;   # 使用数据库
mysql> create table uu(user_name char(64) not null primary key,usr_passwd varchar(64)default' ');

mysql> describe uu;      # 查看表


■ 例2:

mysql> create table ko(id int(10) auto_increment primary key,age int(3) not null,name varchar(128) not null,score decimal(5));
mysql> desc ko;

修改表结构

新增

mysql> alter table ko add column zzz int(3);    #新增一个为zzz的列
mysql> desc ko;


删除

mysql> alter table ko drop column zzz;  #删除一个zzz的列
mysql> desc ko;

删除一个数据表

mysql>DROP TABLE auth. users;

■ 例:

mysql> drop table zz.users;    #删除zz数据库下的users表
mysql> show tables;

删除一个数据库

mysql>DROP DATABASE  auth;

■ 例:

mysql> drop database abc;
mysql> show databases;

克隆表

方法一:

mysql> create table uu2 like uu;
mysql> desc uu2;
mysql> show tables;


方法二:

mysql> show create table cj1\G

例:

mysql> show create table uu\G


DML

插入数据记录

INSERT INTO 表名 (字段 1,字段 2, … )VALUES(字段1的值,字段2的值,…)

mysql>use auth;
mysql> INSERT INTO users (user_name, user_passwd)  VALUES(' zhangsan',PASSWORD (' 123456' ));或mysql>INSERT INTO users VALUES('lisi', PASSWORD(' 654321' )) ;

方法一

mysql> insert into uaa(user_name,user_passwd) values('lisi','123456');
mysql> select * from uaa;


方法二

mysql> insert into uaa values('lilei',PASSWORD('123123'));
mysql> select * from users;

插入多个数据记录

mysql> insert into ko(age,name,score,addr) values(17,'zhangsan',60,101),(19,'lilei',75,102),(18,'wanghao',86,103),(17,'zhaozhao',99,104),(18,'liuli',50,105);
mysql> select * from ko;


mysql> desc ko;

修改数据记录

UPDATE 表名 SET 字段名 1=字段值 1[,字段名 2=字段值 2] WHERE 条件表达式

mysql>UPDATE auth. users SET user_passwd=PASSWORD('') WHERE user_name='lisi' ;
mysql>SELECT * FROM auth. users;

例:

mysql> update ko set age=18 where name='zhangsan';     # 必须跟条件where,不然会全部被修改
mysql> select age from ko;    #差看age字段


■ 删除数据库记录
DELETE FROM表名WHERE条件表达式

方法一:
mysql>DELETE  FROM auth. users WHERE user_name='lisi' ;
mysql>SELECT * FROM auth. users;

例:

mysql> delete from cj1 where name='zhangsan';
mysql> select * from ko;

DQL

查询数据记录

SELECT 字段名 1, 字段名 2,… FROM 表名 WHERE 条件表达式

mysql>select * from auth. users;
mysql>SELECT user_name, user_passwd  FROM auth. users WHERE user_name=' zhangsan'

例:

mysql> select name from ko;             #查询表中的一个字段
mysql> select name,age from ko;         #查询表中的两个字段

DCL

授予权限

GRANT权限列表 ON 数据库名.表名T0 用户名@来源地址[ IDENTIFIED BY ’密码’ ]

mysql>GRANT select ON auth. * T0’ xiaoqi '@' localhost' IDENTIFIED BY '123456' ;
[root@ZZZ~] # mysql -u xiaoqi -p
mysql>SELECT * FROM auth. users;   #验证授权的访问操作;
mysql>SELECT * FROM mysql. user;   #验证非授权的访问操作
mysql>CREATE  DATABASE bdqn;
mysql>GRANT all privileges ON bdqn. * T0 'dbuser' @  '192. 168.4. 19' IDENTIFIED BY 'pwd@123' ;

例:
授予用户wanghao本地查看所有库所有表权限

[root@server1 ~]# mysql -uroot -p123456
mysql> grant select on *.* to 'wanghao'@'localhost' identified by '123456';

mysql> flush privileges;   #刷新权限,授予权限后一般要刷新

查看权限

SHOW GRANTS FOR用户名@来源地址

mysql>SHOW GRANTS FOR 'dbuser' @ '192. 168.4. 19' ;

例:

mysql> exit
[root@mysql1 ~]# mysql -uwanghao -p123456
mysql> show grants for 'root'@'localhost';


■ 撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址

mysql>REVOKE all privileges ON auth. * FROM  'xiaoqi' @  'localhost' ;
mysql>SH0W GRANTS FOR  'xiaoqi' @ 'localhost' ;   #确认已撤销对auth库的权限

例:

撤销wanghao的查看权限
mysql> revoke select on *.* from 'wanghao'@'localhost';
mysql> flush privileges;                     #刷新权限
mysql> show grants for 'wanghao'@'localhost';    #查看wanghao的本地权限

查看数据库结构

查看数据库信息

SHOW DATABASES

char与varchar区别

char的长度是不可变的,而varchar的长度是可变的
● 字段b:类型char(10),值为: abc,存储为: abc (abc+7个空格)
● 字段d:类型varchar(10),值为: abc,存储为: abc(自动变为3个的长度)
超出长度自动截取
● 字段c:类型char(3), 值为: abcdefg,存储为: abc (defg自动删除)
● 字段e:类型varchar(3),值为: abcdefg,存储为: abc (defg自动删除)
varchar(10)和char(10),都表示可存10个字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放10个
char最多可以存放255个字符,varchar的最大长度为65535个字节,varchar可存放的字符数跟编码有关
● 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766个字符
● 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845个字符
注:
● 一个汉字占多少长度与编码有关;
● UTF-8:一个汉字=3个字节
● GBK:一个汉字=2个字节nn

修改默认存储引擎

查看存储引擎

mysql> show engines;

修改默认存储引擎

mysql> alter table user_info engine=MyISAM;
vim my.cnfdefault-storage-engine=InnoDB
mysql> create table engineTest(id int) engine=MyISAM;

Mysql数据库管理相关推荐

  1. ubuntu中mysql怎么退出命令_如何使用Python进行MySQL数据库管理

    本节我们将学习使用Python进行MySQL数据库管理.Python有多种用于MySQL数据库管理的模块,这里使用MySQLdb模块.MySQLdb模块是MySQL数据库服务器的接口,用于向Pytho ...

  2. MySQL数据库管理(二)单机环境下MySQL Cluster的安装

    上文<MySQL数据库管理(一)MySQL Cluster集群简单介绍>对MySQL Cluster集群做了简要介绍.本文将教大家一步步搭建单机环境下的MySQL数据库集群. 一.单机环境 ...

  3. Mysql数据库(二)——mysql数据库管理

    Mysql数据库(二)--mysql数据库管理 一.常用数据类型 二.查看数据库结构 1.进入数据库 2.查看数据库的信息 3.查看数据库中表的信息 4.显示数据表的结构(字段) 三.SQL语句概述 ...

  4. 推荐轻量级MySQL数据库管理工具 Adminer

    服务器上一直用 phpMyAdmin 管理 MySQL 数据库, 有点囊肿, 配置也麻烦, 所以换了个轻量级的 Adminer 数据库管理替换. Adminer 就一个单文件, 知道什么就轻量级了吧, ...

  5. mysql5.7的客户端软件_mysql数据库管理客户端工具|mysql数据库管理软件 v5.7.22 64位官方版 - 软件下载 - 绿茶软件园|33LC.com...

    mysql数据库管理软件是一个多线程的,结构化查询语言(SQL)数据库服务器.mysql数据库管理软件在世界上是最流行的数据库语言,很多人都选择MySQL,最大的特点就是MySQL的执行性能非常高,运 ...

  6. 发现一个好用的MySQL数据库管理工具

    免费在线MySQL数据库管理工具 平台地址: http://open.yesapi.cn/ 一.管理自己的MySQL数据库 如果自己已经有一个MySQL数据库,那么可以直接配置到小白开放平台,就可以实 ...

  7. mysql数据库管理-2019整理

    mysql数据库管理 [注:大部分命令不区分大小写] SQL语言的作用是什么? 结构化查询语言(structured query language)简称SQL 数据查询语言(DQL)= 查 数据定义语 ...

  8. MySQL 数据库管理教程

    MySQL 数据库管理 MySQL 是一种开源的关系型数据库管理系统,它被广泛应用于 Web 应用程序和动态网站的开发中,如 WordPress.Drupal 和 Joomla 等.本文将为大家介绍 ...

  9. Mysql数据库管理工具简介

    数据库管理工具可以可视化,SQLyog.phpMyAdmin.Navicat这三种工具,分别不同,下面简单说说三者直接的区别 1,SQLyog是一个易于使用的.快速而简洁的图形化管理MYSQL数据库的 ...

  10. 理论+实验·MySQL数据库管理

    理论+实验·MySQL数据库管理 文章目录 理论+实验·MySQL数据库管理 一.数据库基本操作 1.1 数据库基本操作 1.2 SQL语句概述 1.3 创建数据库和表 1.4 删除数据库和表 1.5 ...

最新文章

  1. UA SIE545 优化理论基础1 例题1 常见的凸集
  2. Re:从0开始的微服务架构--(二)快速快速体验微服务架构?--转
  3. java核心标签库,16.JSTL标签库(我的JavaEE笔记)
  4. thinkphp 5数据库操作
  5. 聚焦2020云栖大会 边缘计算专场畅谈技术应用创新
  6. oracle 取消exp权限,oracle 复制账号权限oracle11gexp导出问题:部分表导不出来
  7. java list 超出范围_java-列索引超出范围:2,列数1
  8. 车辆行人识别训练与部署,EasyDL-Jetson Nano 端边云协作专场公开课
  9. bootstrap table通过ajax获取后台数据展示在table
  10. 双网关,可以上内网或外网,如何同时上内网和外网?
  11. ids for this class must be manually assigned before calling save():Xxx
  12. 矩阵奇异值分解(SVD)
  13. 具体数学-第14课(牛顿级数和生成函数)
  14. inDesign教程,如何将inDesign文档导出为 PDF 文件?
  15. JAVA new URL引起死机一例
  16. 软件项目管理知识点总结
  17. 电商大数据分析案例(Hadoop+Hive+Spark+Azkaban+Spring MVC+ECharts)
  18. 电压电流测量模块在matlab,MATLAB仿真时用simulink的RMS模块测量电压有效值,总提示如下警告,怎么破,跪求?...
  19. GO语言中中文占3个字节,英文占1个字节
  20. 从零开始构建嵌入式实时操作系统2——重构

热门文章

  1. steam卡价越来越高,steam搬砖项目还能玩么?
  2. 【OpenGL开发】关于GLEW扩展库
  3. 西班牙、阿根廷和委内瑞拉的五所大学提供加密货币课程
  4. java 农历日期工具类
  5. python批量下载文件只有1kb_我总结了这几点经验,使用python让网页提速几倍不止!...
  6. 关于STM32中的引脚重映射
  7. java正则表达式判断Email格式
  8. GoLang之使用uber-go/dig进行依赖注入
  9. 重症监护病人心电导联信号质量评估、SQI
  10. 常看:前端面试题搂搂