码迷,mamicode.com
首页 > 数据库 > 详细

mysql命令

时间:2019-09-22 23:36:00      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:row   database   进制   insert   组成   incr   truncate   cal   有符号   

MySQL命令数据库命令分为以下几个大类:

DDL 全称:Data Definition Language(数据定义语言),既然是定义语言其中有:

create:创建数据库及其对象(包括新建表,索引,视图,存储过程等)。

alter: 改变现有数据库的结构(包括: 修改索引,修改字段类型,删除索引)。

truncate: 删除表中所有记录,并删除已分配的空间。

comment:添加注释新建表以及字段上添加注释。

rename: 重命名,其中包括索引,tablename等。

drop  删除,删除数据库和表。

DML全称是:Data Manipulation Language(数据操作语句):

insert语句,新增数据到数据库中。

update语句,更新表格中现有数据。

delete 语句,删除现有数据。

explain 语句,查看语句的执行计划。

lock table 语句,锁表操作。

DCL 全称为:Data Control Language(数据控制语句),这里指的控制,说的其实就是权限控制:

grant:允许用户访问数据库的权限。

revoke:撤销用户访问数据库的权限。

DQL:数据库查询语句:

select 语句,从数据库中检索数据。

数据库中操作命令语法:

DDL命令

CREATE语句,创建数据库和数据表;

create database   DBname   数据库的属性 ;

create   databasse king  charset=utf8;  #创建一个urf8字符集的数据库

create   table   tablename  表属性;  #其中表的属性有:权限、大小、行数、字符集、存储引擎

create  table   t1  (id  int  auto_increment  primary  key ); #创建一张表其中id字段自增长并设置为主键(不为空且唯一)

 

Create   table t1  like  log;#创建一个像log表结构的表。

Create table t1 select  *  from  log ;  #创建一个像log表的表并把log表中的数据写入到t1表中

 

 

CREATE TABLE apilog

(

   Id                   VARCHAR(40),

   systemName           VARCHAR(100) COMMENT ‘系统名称‘,

   systemCode           VARCHAR(50) COMMENT ‘系统编码‘,

   indentify            VARCHAR(100) COMMENT ‘标识(各种唯一Id如:userId ,orderId 等)‘,

   moduleId             VARCHAR(100) COMMENT ‘模块Id‘,

   serviceName          VARCHAR(100) COMMENT ‘接口名称‘,

   clientIP             VARCHAR(15) COMMENT ‘客户端IP‘,

   clientType           INT COMMENT ‘客户端类型 10 Android,20 IOS, 30 IE ,31 FireFox,32 Opera ,33 Safari ,34 Chrome ,40 Service(系统服务)‘,

   requestType          INT COMMENT ‘请求类型:0 GET,1 POST,2 PUT,3 DELETE‘,

   responseStatus       INT COMMENT ‘响应状态 0 成功 1  失败‘,

   responseTime         INT COMMENT ‘响应时长(毫秒)‘,

   inputParam           VARCHAR(2000) COMMENT ‘接口入参‘,

   outputParam          VARCHAR(2000) COMMENT ‘接口出参‘,

   appId                VARCHAR(100) COMMENT ‘应用Id‘,

   browerVersion        VARCHAR(100) COMMENT ‘browerVersion‘,

   logTime              DATETIME COMMENT ‘日志时间‘,

   CreateTime           DATETIME

) ENGINE=INNODB  DEFAULT CHARSET=utf8 ;#指定引擎和存储字符类型

 

ALTER TABLE apilog COMMENT ‘接口日志‘;
#COMMENT
为注释即解释这个字端是干什么的

 

ALTER  修改命令(这条命令比较危险)

Alter  table  tablename  add  新的列; #添加新列

Alter  table tablename  drop 列名;  #删除列

Alter  table tablename   modify 列名和属性;   #修改列属性

Alter  table tablename   change 列名 新列名和属性;   #修改列名和属性

Alter  table tablename   rename  新tablename;#修改tablename

Alter  table tablename   add 新列名和属性 null  default  null   after  列名;#增加到已有列名之后

Alter  table tablename   add 新列名和属性 null default    null   first;#增加到最前面;

 

Alter使用更改密码

Alter  user   root@locahost identified by   ‘123’;#支持在mysql7.x版本上

 

Truncate清空数据表中的内容(危险)

Truncat    table tablename;  #这个命令只会删除数据不会删除表

 

 

Comment在建表中添加注释

Create table  tablename (id  char(10) comment “id”);

Rename修改tablename

Rename  table tablename  to  新tablename

 

Drop 删除库表命令(极其危险)

Drop   database  DBname

Drop   table    tablename

 

DML命令

insert语句,新增数据到数据库中。

Insert into  tablename(字段名)  values(数据);#其中数值类型可以不使用引号,但是字符串类型要使用,有些默认值的字段可以加也可不加。

 

update语句,更新表格中现有数据(比较危险,但是相对于delete来说比较安全可以使用update代替delete,其中update需要和where语句结合)

update   mysql.user  set  password=123   where  user=’root’and host=’localhost’;

 

delete 语句,删除现有数据(危险,delete命令也要和where语句结合在一起)

delete  from  tablename  where  条件;

 

 

lock tables 语句,锁表操作。

Lock  tables   talbename read或者write等;

READ
所有的用户只能读取被锁表,不能对表进行修改(包括执行 LOCK 的用户),当表不存在 WRITE 写锁时 READ 读锁被执行。

READ LOCAL
除了允许 INSERT 命令以外执行的锁与 READ 相同。

WRITE
除了当前用户被允许读取和修改被锁表外,其他用户的所有访问被完全阻止。一个 WRITE 写锁被执行仅当所有其他锁取消时。

LOW PRIORITY WRITE
低优先级的读锁,在等待时间内(等待其他锁取消),其他用户的访问将被认为是执行了 READ 读锁,因此将增加等待时间

 

DQL:数据库查询语句:

Select   查询数据表中数据;

Select  user();  #查询当前登陆用户名;

Select   version(); #查看当前版本;

Select now();   #查看当前时间;

Select ‘字符’; #显示字符串

select dayofmonth(current_date);#显示年月日

select (10+6)*50;#运算

select  列名,列名  from  DBname.tablename wherw  条件;

 

where 子句使用

where条件字句主要是配合select查询语句使用,其他像update、delete、alter都可以使用,但是select使用最多。

select  *  from   tablename  where  列名=数据;  #查询此表中有等于这个数据的行

 

show   查看

show  grants  for   用户名@所属域  #查看用户权限

show  create   database  DBname;  #查看数据建库的属性

show  create  table  tablename  #查看数据表的属性

show   datbases; #查看有哪些数据库

show   tables ;     #查看有哪些表

show   variable   like  ‘列名’#查看数据库的参数

 

desc   tablename  #查看表结构

DCL 全称为:Data Control Language(数据控制语句),这里指的控制,说的其实就是权限控制:

Grant  给用户添加权限;

Grant  权限(主要有insert、update、select、drop、create、delete等)

Grant   insert,select on  DBname.tablename  to ‘用户’@‘所属域’ identified  by  ‘密码’

Grant   all on  DBname.tablename  to ‘用户’@‘所属域’ identified  by  ‘密码’  with  grant  option;#创建超级用户

 

Revoke 收回权限

revoke all on dbname.tablename  from   用户名@所属域

 

#mysql中的常用数据类型:
1
、数值类型:
  TINYINT   有符号值:-128到127,吴符号值:0到255
  INT     无符号值:-32768到32767,无符号值0到65535
  MEDIUMINT  有符号值:-8388608 8388607- 2^23 2^23 1 ),无符号值:0167772150 2^24 1
   BIGINT  有符号值:-9223372036854775808 9223373036854775807- 2^632^63-1),无符号值:01844674407370955161502^64 1
  
2
、字符串类型:
  CHAR  定长字符串(0到255字节),优点读取速度快,缺点比较浪费资源。
  VARCHAR  可变字符串(0到65535字节),优点可以节约资源和比较可以适应不同的字符长度,缺点读取较慢。
  TEXT    长文本字符串(最大64k字节)。
  TINYEXT  短文本字符集(0-255字节)
  MEDIUMEXT 中等长度文本数据(最大数据16k字节)
  LONGTEXT  极大文本数据(最大数据4GB
  ENUM    接受最多64K个串组成的预定义集合的某个串
  SET    接受最多64K个串组成的预定义集合的零个或多个串

3
、日期时间数据类型:
  DATE  取值范围:1000-01-01——9999-12-31  #日期值
  TIME  -838:59:59——838:59:59       #时间或者持续时间
  DATETIME  1000-01-01 00:00:00——9999-12-31 23:59:59  #混合日期和时间值
  TIMESTAMP  19700101080001——20380119111407  #混合日期和时间值,时间戳  
  YEAR   1901——2155   #年份值
4
、二进制数据类型:
  TITYBLOB  最大长度为255字节
  BLOB    最大长度为64KB
  MEDIUMBLOB  最大长度为16MB
  LONGBLOB   最大长度为4GB

mysql命令

标签:row   database   进制   insert   组成   incr   truncate   cal   有符号   

原文地址:https://www.cnblogs.com/DB-MYSQL/p/11569801.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!