常用的Mysql数据库操作语句大全

//好吧 然而先挖个坑(大雾)

/先去摸鱼

一、用户管理:

 

  1、新建用户:

  CREATE USER name IDENTIFIED BY 'ssapdrow';

 

  2、更改密码:

  SET PASSWORD FOR name=PASSWORD('fdddfd');

 

  3、权限管理:
  SHOW GRANTS FOR name;    //查看name用户权限
  GRANT SELECT ON db_name.* TO name;  //name用户db_name数据库的所有权限

  REVOKE SELECT ON db_name.* TO name; //GRANT的反操作,去除权限;

 

  二、数据库操作: 

 
  1、查看数据库:
  
SHOW DATABASES;


  2、创建数据库:
  CREATE DATABASE db_name;  //db_name为数据库名


  3、使用数据库:
  
USE db_name;


  4、删除数据库:
  
DROP DATABASE db_name;

 

  三、创建表:


  1、创建表:
  CREATE TABLE table_name(
  
id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,

  //id值,无符号、非空、递增——唯一性,可做主键。
  name VARCHAR(60) NOT NULL
  score TINYINT UNSIGNED NOT NULL DEFAULT 0, //设置默认列值
  PRIMARY KEY(id)
  )ENGINE=InnoDB   

  //设置表的存储引擎,一般常用InnoDBMyISAMInnoDB可靠,支持事务;MyISAM高效不支持全文检索
  DEFAULT charset=utf8;  //设置默认的编码,防止数据库中文乱码


  如果有条件的创建数据表还可以使用


  
CREATE TABLE IF NOT EXISTS tb_name(........


  2、复制表:
  
CREATE TABLE tb_name2 SELECT * FROM tb_name;


  或者部分复制:

  CREATE TABLE tb_name2 SELECT id,name FROM tb_name;


  3、创建临时表:
  CREATE TEMPORARY TABLE tb_name(这里和创建普通表一样
);


  4、查看数据库中可用的表:
  
SHOW TABLES;


  5、查看表的结构:
  
DESCRIBE tb_name;


  也可以使用:
  SHOW COLUMNS in tb_name;     //from也可以

 

  6、删除表:
  
DROP [ TEMPORARY ] TABLE [ IF EXISTS ] tb_name[ ,tb_name2.......];

 

  7、表重命名:
  
RENAME TABLE name_old TO name_new;

 

  四、修改表:


  1、更改表结构:

  ALTER TABLE tb_name ADD[CHANGE,RENAME,DROP] ...要更改的内容
...

 

  五、插入数据:


  1、插入数据:

  INSERT INTO tb_name(id,name,score)VALUES(NULL,'张三',140),(NULL,'张四',178),(NULL,'张五
',134);


这里的插入多条数据直接在后边加上逗号,直接写入插入的数据即可;主键id是自增的列,可以不用写。


  2、插入检索出来的数据:
  
INSERT INTO tb_name(name,score) SELECT name,score FROM tb_name2;

 

  六、更新数据:


  1、指定更新数据:

  UPDATE tb_name SET score=189 WHERE id=2;
  
UPDATE tablename SET columnName=NewValue [ WHERE condition ]

 

  七、删除数据:


  1、删除数据:

  
DELETE FROM tb_name WHERE id=3;

 

  八、条件控制:


  1WHERE 语句:

  
SELECT * FROM tb_name WHERE id=3;


  2HAVING 语句:
  
SELECT * FROM tb_name GROUP BY score HAVING count(*)>2

 

  九、MySQL的正则表达式:


  1Mysql支持REGEXP的正则表达式:

  SELECT * FROM tb_name WHERE name REGEXP '^[A-D]'   //找出以A-D 为开头的
name

原文地址:https://www.cnblogs.com/whitecube71/p/4489284.html