zoukankan      html  css  js  c++  java
  • MySQL增删改查基本语句

    Mysql语句

    一,数据对象

      DDL:数据定义语言

          CREATE

          ALTER

          DROP

      DML:数据操作语言

          INSERT

          UPDATE

          DELETE

      DCL:数据控制语言

          GRANT

          REVOKE

    二,DDL的用法

      创建数据库:CREATE  database  testname;

      如果不存在就创建:CREATE  database  IF  NOT  EXISTS testname;

      删除数据库:DROP  DATABASE   testname;

    创建用户:CREATE  USER  ‘username’@’host’  IDENTIFIED  BY  ‘PASSWORD’

    删除用户:DROP  USER  ‘username’@’host’;

    HOST解读:

             IP

             HOSTNAME

             通配符:_:匹配任意单个字符,172.16.0._

             匹配任意长度的任意字符使用,%

    查看用户授权:show  GRANTS  from  ‘username’@‘%’;

    创建表:CREATE TABLE  tablename; (先切换至testname库,use testname);

      创建表及数据:create  table  tablename(name varchar(10)  age  int(3));

      查看表:show  table   tablename;

      查看表结构:DESC tablename;

      删除表:drop  table   tablename;

    修改表:

    MODIFY:修改某个字段,修改字段属性,字段名字不改

    CHANGE:改变某个字段,改变字段名称

    ALTER  table  tablename  CHANGE  id  ID  CHAR(12)  AFTER  name;

    ADD:添加一个字段

    ALTER  table tablename  ADD  id  int(10);(默认在最后)

    解读:将id修改为大写id,修改数据类型,放置name后面一行。

    DROP:删除一个字段

    ALTER  table  tablename  drop  name;

    解读:删除一个name字段

    不会使用可以帮助:help create table;help alter table;

    三,DML的用法

      INSERT  INTO  tablename  (name1,id1…)  VALUES(‘user1’,1);

      INSERT  INTO  tablename   VALUES(‘user1’,1);

      批量插入数据

      INSERT  INTO  tablename  (name1,id1…)  VALUES(‘user1’,1), (‘user2’,2), (‘user3’,3);

      UPDATE  tablename   SET  name=’user1’  where  id=5;

      解读:将表中,user1的用户,部门号由1改为5

      SELECT  name,id  from  tablename  where  age=33;

      解读:查询出年龄为33岁的,显示名字和部门

      Delete  from  tablename  where  name=‘user1’;

      解读:删除表中名字等于user1的,如果没有带where表示所有行。

    四,DCL数据控制语言

      给一个用户所有权限

      Grant  ALL  PRIVILEGES  ON  test.*  TO  ‘username’@’%’ IDENTIFIED  BY  ‘123.com’

      给用户test库里面所有表,所有权限,并设置密码为123.com

      GRANT  [select, delete,creat…]  ON  ku_name.tab_name  TO ‘username’@‘host’[IDENTIFIED  BY  ‘PASSWORD’];

      解读:授予查询,或删除,哪个库,哪个表,给哪个用户,主机权限。后还可以给没添加密码的用户添加密码,或者重新设置密码。

      如果用户不存在,会自动创建并授权。

      REVOKE [SELECT,DELETE,CREATE..]  ON  ku_name.tab_name  from  ‘username’@’host’;

      解读:取消权限的办法。

    五,给用户添加密码。

       第一种办法

     Mysql> SET  PASSWORD  FOR  ‘root’@’localhost’ =PASSWORD(‘123.COM’);

       给root添加密码,加密存放

       改一个用户密码,或授权,密码和授权存放在内存中,所以要让mysql加

    一下才生效。

        FLUSH  PRIVILEGES;刷新授权表,重新加载。(修改完成,都需重新加载)

       第二种办法

       Mysqladmin  -uroot  -h127.0.0.1  –p  password ‘ 123.com’;

       第三种办法

       UPDATE  user  SET  password=PASSWORD(‘123.COM’)  WHERE USER=’root’   AND  Host=[localhost,127.0.0.1];

       解读:修改root密码,是locaohost,还是127.0.0.1,

       UPDATE  user  SET  password=PASSWORD(‘123.COM’)  WHERE USER=‘root’;

       解读:不管是localhost还是127.0.0.1,只要是root用户的,密码全部被修改。

       给远程用户添加密码权限

       GRANT ALL PRIVILEGES  ON  *.* TO ‘root’@’192.168.%.%’  IDENTIFIED  BY ‘passwprd’

       允许192.168网段的所有主机,通过root用户,连接任意表,任意库,密码password

        FLUSH  PRIVILEGES;

        远程登陆:mysql  -uroot  -p  -h192.168.1.1

       图形化管理工具

       Phpmyadmin

       Workbench

       Mysql  front

       Navicat  for   mysql

       Toad

       SQLyog 

  • 相关阅读:
    如何用VSCode手动编译Ace Editor
    libuv源码分析
    二叉平衡查找树---红黑树
    tcp滑动窗口与拥塞控制
    ceph架构剖析
    腾讯面试总结
    协程的实现原理
    dhcp协议交互报文
    libuv源码分析前言
    Protobuf使用规范分享
  • 原文地址:https://www.cnblogs.com/sxshaolong/p/10188884.html
Copyright © 2011-2022 走看看