前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >听说Mysql你很豪横?-------------管理MySQL数据库基本操作命令

听说Mysql你很豪横?-------------管理MySQL数据库基本操作命令

作者头像
不吃小白菜
发布2020-09-03 10:22:11
1K0
发布2020-09-03 10:22:11
举报

前言

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,后来目前属于Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

一、数据库基本操作命令

代码语言:javascript
复制
show databases         '查看数据库列表信息的命令是'
mysql> use mysql             ' 查看数据库中的数据表信息命令是'
mysql> show tables;
mysql> describe user;         '显示数据表的结构(字段)命令'

1、数据库中默认的四个表

information_ schema:虚拟库类似与linux中的proc ,主要存储了系统中的一些数据库对象的信息,例如用户表信息、列信息、权限信息、字符信息等 performance_ schema :主要存储数据库服务器的性能参数 能优化性能 mysql :授权库,主要存储系统用户的权限信息 sys :主要存储数据库服务器的性能参数

二、SQL语言概述

SQL语言

  • 是Structured Query Language的缩写,及结构化查询语言 是关系型数据库的标准语言
  • 用于维护管理数据库,如数据查询,数据更新,访问控制,对象管理等功能 SQL分类

DDL:数据定义语言 DDL语句用于创建数据库对象,如库,表,索引等

DML:数据操纵语言 DML语句用于对表中的数据进行管理

DQL:数据查询语言 DQL是数据查询语句,只有一条:SELECT

DCL:数据控制语言 设置或查看用户的权限,或者创建用户

下面将针对这四种类型语言进行详细的介绍

1、创建表以及个字段类型及约束限制

create table 表名(字段名称 字段类型 字段约束,字段02的名称 字段02的类型) 存储引擎,字符集 字段01名称 属性名称 自定义 字段01类型: int 整型 可以跟数字 这里的int是宽度 默认是11位 double 浮点型 小数点后两位 八字节 float(5,2) 浮点型 这个就会限制 80.126 也可以 输出过来就是80.12 8000.2 就不行 最多是999 decimal(5,2)定点型 80.126可以成功会给警告显示数据有问题 80.16 这里同上 都是四舍五入 = = =字符串类型测试: CHAR、 VARCHAR 作用:用于存储用户的姓名、爱好、发布的文章等 CHAR, 列的长度固定为创建表时声明的长度: 0~ 255 ; VARCHAR列中的值为可变长字符串,长度: 0~ 65535 注:在检索的时候, CHAR列删除了尾部的空格,而VARCHAR则保留这些空格

字段01约束 : 非空约束 :内容 不允许为空 主键约束: 非空且唯一 典型的表示 唯一性 身份证号是主键约束 primary key 默认值: 假如没有填数据 默认预先设定的值填写 自增特性: id 相当于table里面的行数 auto increment

存储引擎 :myisam和innodb 字符集 :UTF-8 中文字符集

2、DDL数据定义语言

DDL语句创建库,表的命令

代码语言:javascript
复制
mysql> create database dog;   '创建一个名为dog的数据库'
mysql> use dog;                '进入dog的数据库'
mysql> create table gousheng(id char(3) not null primary key,
name varchar(10) not null,score int(3),address varchar(50) default 'baomi');
Query OK, 0 rows affected (0.01 sec)
'创建一个名为gousheng的表  ,第一个字段名为id  限制为3位数只内0——990 并且不能为空,而且具有唯一性,不能重复,第二个字段是name名字  10个字符以内的,'
'不能为空,第三个字段是成绩,三位数之内,可以为空,第四个字段为家庭地址,50个字符以内的,如果不填写的话,默认是baomi ' 

字段和类型必不可少的

DDL语句删除库,表的命令是

删除指定的数据表:drop table [数据库名.]表名

删除指定的数据库:drop database 数据库名

代码语言:javascript
复制
mysql> drop table kkk.bbb;	'//删除表高危命令谨慎操作'
Query OK, 0 rows affected (0.00 sec)

mysql> drop database kkk;	'//删除库高危命令谨慎操作'
Query OK, 0 rows affected (0.00 sec)

3、DML操作命令

DML语句insert:插入新数据

代码语言:javascript
复制
mysql> insert into gousheng(id,name,score,address)values(1,'goupeng',90,'guizhou');
Query OK, 1 row affected (0.00 sec)

mysql> select * from gousheng;
+----+---------+-------+---------+
| id | name    | score | address |
+----+---------+-------+---------+
| 1  | goupeng |    90 | guizhou |
+----+---------+-------+---------+
mysql> insert into gousheng values(2,'gousheng',56,'nanjing');
Query OK, 1 row affected (0.00 sec)
mysql> select * from gousheng;
+----+----------+-------+---------+
| id | name     | score | address |
+----+----------+-------+---------+
| 1  | goupeng  |    90 | guizhou |
| 2  | gousheng |    56 | nanjing |
+----+----------+-------+---------+
2 rows in set (0.00 sec)

DML语句update:更新原有数据

代码语言:javascript
复制
mysql> update gousheng set name='shang' where id=1;    '将id为1的名字改为shang'
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from gousheng
    -> ;
+----+----------+-------+---------+
| id | name     | score | address |
+----+----------+-------+---------+
| 1  | shang    |    90 | guizhou |
| 2  | gousheng |    56 | nanjing |
+----+----------+-------+---------+
2 rows in set (0.00 sec)
mysql> update gousheng set name='zhen';     '将所有的名字都改成zhen'
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> select * from gousheng;   
+----+------+-------+---------+
| id | name | score | address |
+----+------+-------+---------+
| 1  | zhen |    90 | guizhou |
| 2  | zhen |    56 | nanjing |
+----+------+-------+---------+
2 rows in set (0.00 sec)

DML语句delete:删除不需要的数据

代码语言:javascript
复制
mysql> delete from gousheng where id=1;   '删除id为1的那一列'
Query OK, 1 row affected (0.01 sec)

mysql> select * from gousheng;
+----+------+-------+---------+
| id | name | score | address |
+----+------+-------+---------+
| 2  | zhen |    56 | nanjing |
+----+------+-------+---------+
1 row in set (0.00 sec)

mysql> delete from gousheng;      '删表内所有数据,与drop不同的是  他只是删除数据,表的架构还有 ' 

DML语句 alter 命令

代码语言:javascript
复制
alter add命令格式:alter table 表名 add字段 类型 其他;

例如,在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:
   mysql> alter table MyClass add passtest int(4) default '0';

1) 加索引
   mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);

例子: mysql> alter table employee add index emp_name (name);

2) 加主关键字的索引
    mysql> alter table 表名 add primary key (字段名);

例子: mysql> alter table employee add primary key(id);

3) 加唯一限制条件的索引
   mysql> alter table 表名 add unique 索引名 (字段名);

例子: mysql> alter table employee add unique emp_name2(cardnumber);

4) 删除某个索引
   mysql> alter table 表名 drop index 索引名;

例子: mysql>alter table employee drop index emp_name;

5) 增加字段
    mysql> ALTER TABLE table_name ADD field_name field_type;

6) 修改原字段名称及类型
    mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

7) 删除字段
    MySQL ALTER TABLE table_name DROP field_name;

4、DQL操作命令

DQL是数据查询语句,只有一条:SELECT

代码语言:javascript
复制
 mysql> select name from gousheng;   '过滤出name这一列的数据'
+----------+
| name     |
+----------+
| shang    |
| zhen     |
| gousheng |
+----------+
3 rows in set (0.00 sec)
mysql> select name,score from gousheng;   '过滤出姓名和成绩两列成绩'
+----------+-------+
| name     | score |
+----------+-------+
| shang    |    54 |
| zhen     |    56 |
| gousheng |    66 |
+----------+-------+
3 rows in set (0.00 sec)
mysql> select name,address from gousheng where id=1 or id=3;   '过滤出id为1和id为3的名字和地址,'
+----------+---------+
| name     | address |
+----------+---------+
| shang    | dongbei |
| gousheng | dongbei |
+----------+---------+
2 rows in set (0.00 sec)

5、DCL语句

创建用户登录权限grant

代码语言:javascript
复制
mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
'grant all  放通所有权限'
'//all privileges:所有权限'
'%:所有终端 '
'  identified 鉴定;辨认'
'基本格式  to接允许登录用户和终端,by接密码,with  接允许的选项'
Query OK, 0 rows affected, 1 warning (0.00 sec)

删除用户登录权限revoke

代码语言:javascript
复制
mysql> revoke all privileges on *.* from 'root'@'%';
Query OK, 0 rows affected (0.00 sec)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、数据库基本操作命令
    • 1、数据库中默认的四个表
    • 二、SQL语言概述
      • 1、创建表以及个字段类型及约束限制
        • 2、DDL数据定义语言
          • DDL语句创建库,表的命令
          • DDL语句删除库,表的命令是
        • 3、DML操作命令
          • DML语句insert:插入新数据
          • DML语句update:更新原有数据
          • DML语句delete:删除不需要的数据
          • DML语句 alter 命令
        • 4、DQL操作命令
          • 5、DCL语句
          相关产品与服务
          云数据库 SQL Server
          腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档