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 

posted @ 2018-12-28 10:09  點燈的人  阅读(17204)  评论(0编辑  收藏  举报