MYSQL 基本命令

MYSQL 基本命令

1.权限操作
  • mysql -u root -p; mysql登录
  • CREATE USER “username”@“host” identified by “password”; 新建用户
  • GRANT privileges ON databasename.tablename TO ‘username’@‘host’; 授权
  • SET PASSWORD FOR ‘username’@‘host’ = PASSWORD(‘newpassword’); 设置与更改用户密码
  • REVOKE privilege ON databasename.tablename FROM ‘username’@‘host’; 撤销用户权限
  • SELECT host,user,authentication_string FROM mysql.user; 查看现有用户
  • DROP user ‘username’@‘host’; 删除用户
  • SHOW GRANTS; / SHOW GRANTS FOR ‘user’@‘host’; 查看权限
  • REVOKE PRIVILEGES ON databasename.tablename FROM’username’@‘host’; 删除权限
2.操作数据库/表
  • 创建数据库/表

    • CREATE DATABASE name; 创建数据库name

    • CREATE DATABASE IF NOT EXISTS name; 如果数据库name不存在,则创建

    • CREATE DATABASE name CHARACTER SET GBK/UTF-8… 创建数据库,并指定字符集

    • CREATE TABLE table_name (column_name column_type); 创建数据库表

    • CREATE TABLE IF NOT EXISTS table_name (column_name column_type);如果表name不存在,则创建

  • 删除数据库/表

    • DROP TABLE name; **删除名为name的表, 删除内容和定义,释放空间 **
    • DROP TABLE IF EXISTS name; 如果存在名为name的表,则删除
    • TRUNCATE TABLE name; 清空表name中的数据
    • DROP DATABASE name; 删除名为name的数据库
  • 查询

    • 基础查询

      • SHOW DATABASES; 查看数据库
      • SELECT column_name FROM table_name; 从 table_name 表中选取 column_name 列
      • SELECT DISTINCT column_name FROM table_name; 选取table_name 表的 column_name 列,去掉重复值
    • 条件查询

      • SELECT column_name FROM table_name WHERE column_name operator value; 从 table_name 表中选取column_name 列且 column_name 列中的值 (运算符) value 的数据(运算符:> , < , <= , >= , = , <> , BETWEEN…AND ,IN( 集合) , LIKE:模糊查询, _:匹配单个任意字符, %:匹配多个任意字符, IS NULL , and , or , not )
      • SELECT column_name1 FROM table_name ORDER BY column_name2 ASC|DESC; 从 table_name 表中选取column_name1列,并按照column_name2列升序/降序排序
      • SELECT column_name1 from table_name WHERE column_name2 LIKE ‘%’; 使用 LIKE 子句从数据表中读取数据 ( %字符来表示任意字符 )
      • SELECT column_name1 FROM table_name1 [WHERE conditions] UNION [ALL | DISTINCT] SELECT column_name1 FROM table_name2 [WHERE conditions] 联合查询
  • 数据更改

    • INSERT INTO table_name (column1,column2,…) VALUES (value1,value2,…); 向列column1,column2中插入数据value1,value2
    • INSERT INTO table_name VALUES (value1,value2,…); 向table_name中插入数据value1,value2
    • UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause] 更新数据
    • DELETE FROM table_name [WHERE Clause] 从 MySQL 数据表中删除数据, 若没有 WHERE 子句,表中的所有记录将被删除。
3.函数
  • 字符串函数
    • ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码
    • CHAR_LENGTH(s) 返回字符串 s 的字符数
    • CONCAT(s1,s2…sn) 字符串 s1,s2 等多个字符串合并为一个字符串
    • CONCAT_WS(x, s1,s2…sn) 同 CONCAT(s1,s2,…) 函数,但是每个字符串之间要加上 x,x 可以是分隔符
    • FIELD(s,s1,s2…) 返回第一个字符串 s 在字符串列表(s1,s2…)中的位置
    • INSERT(s1,x,len,s2) 字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串
    • LTRIM(s) 去掉字符串 s 开始处的空格
    • TRIM(s) 去掉字符串 s 开始和结尾处的空格
    • LEFT(s,n) 返回字符串 s 的前 n 个字符
    • RIGHT(s,n) 返回字符串 s 的后 n 个字符
    • LCASE(s)/LOWER(s) 将字符串 s 的所有字母变成小写字母
    • UCASE(s)/UPPER(s) 将字符串转换为大写
    • SUBSTR/SUBSTRING(s, start, length) 从字符串 s 的 start 位置截取长度为 length 的子字符串
  • 数学函数
    • ABS(x) 返回 x 的绝对值
    • ACOS(x) 求 x 的反余弦值(参数是弧度)
    • ASIN(x) 求反正弦值(参数是弧度)
    • ATAN(x) 求反正切值(参数是弧度)
    • CEIL(x) 返回大于或等于 x 的最小整数
    • COS(x) 求余弦值(参数是弧度)
    • SIN(x) 求正弦值(参数是弧度)
    • COT(x) 求余切值(参数是弧度)
    • EXP(x) 返回 e 的 x 次方
    • FLOOR(x) 返回小于或等于 x 的最大整数
    • GREATEST(expr1, expr2, expr3, …) 返回列表中的最大值
    • LEAST(expr1, expr2, expr3, …) 返回列表中的最小值
    • SQRT(x) 返回x的平方根
  • 日期函数
    • CURDATE()/CURRENT_DATE() 返回当前日期
    • CURRENT_TIME()/CURTIME() 返回当前时间
    • DATEDIFF(d1,d2) 计算日期 d1->d2 之间相隔的天数

你可能感兴趣的:(MYSQL 基本命令)