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 之间相隔的天数