MySQL常用命令行操作语句
一、登陆mysql
语法如下: mysql -u用户名 -p用户密码
回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
例如用root用户登录:
mysql -uroot -p
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP
二、增加新用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先
用以root用户连入mysql,然后键入以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为”%”。
如果你不想user1有密码,可以再打一个命令将密码去掉。
GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO 'user1' @'localhost' IDENTIFIED BY '';
三、操作数据库
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。
缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。
1.查看所有数据库
SHOW DATABASES;
2.创建数据库
格式:create database 数据库名称;
CREATE DATABASE db1;
3.查看数据库详情
格式: show create database 数据库名;
SHOW CREATE DATABASE db1;
4.创建数据库指定字符集 utf8或gbk
CREATE DATABASE db2 CHARACTER SET utf8;
CREATE DATABASE db2 CHARACTER SET gbk;
5.删除数据库
DROP DATABASE db2;
6.使用数据库(按回车键出现Database changed 时说明操作成功!)
USE db1;
四、操作表和数据
表的引擎
Myisam: 只支持数据基础的增删改查,不支持高级操作,如:事务、外键等
InnoDB:支持高级操作,默认为InnoDB。
对表操作前必须用use选择数据库
1.创建表
格式: create table 表名 (字段1名 字段1类型,字段2名 字段2类型);
CREATE TABLE person ( NAME VARCHAR ( 10 ), age INT );
2.查看当前数据库下所有表
SHOW TABLES;
3.查看单个表的详细信息
格式:show create table 表名;
SHOW CREATE TABLE person;
4.查看表的字段信息
格式:desc 表名;
DESC table;
5.修改表名
格式:rename table 原名 to 新名;
RENAME TABLE student TO t_stu;
6.修改表属性 引擎和字符集
格式:alter table 表名 engine=引擎名 charset=字符类型;
ALTER TABLE hero ENGINE = myisam charset = gbk;
7.添加表字段
最后位置添加
格式:alter table 表名 add 字段名 字段类型;
alter table hero add age int;
最前面添加
格式:alter table 表名 add 字段名 字段类型 first;
alter table hero add money int first;
在某个字段的后面添加
格式:alter table 表名 add 字段名 字段类型 after 字段名;
alter table hero add gender varchar(5) after name;
8.删除表字段
格式:alter table 表名 drop 字段名;
alter table hero drop money;
9.修改表字段名和类型
格式:alter table hero change 原字段名 新字段名 类型;
alter table hero change name heroname varchar(10);
10.修改表字 段类型和位置
将字段移动到最后
格式:alter table 表名 modify 字段名 字段类型 first;
alter table hero modify age int first;
将字段移动到某字段后面
格式:alter table表名 modify 要移动字段名 字段类型 after 字段名;
alter table hero modify age int after xxx;
11.删除表
格式:
drop table hero;
1.导出数据:
mysqldump --opt test > mysql.test
即将数据库test数据库导出到mysql.test文件,后者是一个文本文件
如:
mysqldump -u root -p123456 --databases dbname > mysql.dbname
就是把数据库dbname导出到文件mysql.dbname中。
2.导入数据:
mysql -u root -p123456 < mysql.dbname
3.将文本数据导入数据库:
文本数据的字段数据之间用tab键隔开。
use test;
load data local infile "文件名" into table 表名;
4:查看现在的数据库中存在什么表
SHOW TABLES;
5:创建一个数据库表
CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
DESCRIBE MYTABLE;
7:往表中加入记录
insert into MYTABLE values ("hyq","M");
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
use database;
source d:/mysql.sql;
10:删除表
drop TABLE MYTABLE;
11:清空表
delete from MYTABLE;
12:更新表中数据
update MYTABLE set sex="f" where name='hyq';
五、常用函数
1.字符串长度LENGTH(str)
SELECT * FROM table WHERE LENGTH( table.url ) > 5
2.时间戳(秒)格式化FROM_UNIXTIME(unix_timestamp,format)
SELECT FROM_UNIXTIME(table.create_time,'%Y-%m-%d %H:%i:%s') create_time FROM table
3.日期格式化DATE_FORMAT(date,format)
SELECT DATE_FORMAT(table.created_date, '%Y-%m-%d') created_date FROM table
4.条件语句
- 1:IF(expr1,expr2,expr3)
如果表达式 expr1 成立,返回结果 expr2;否则,返回结果 expr3 - 2:IFNULL(expr1,expr2)
如果 expr1 的值不为 NULL,则返回 expr1,否则返回 expr2 - 3:ISNULL(expr)
判断表达式expr是否为 NULL - 4:NULLIF(expr1, expr2)
如果字符串 expr1 与 expr2 相等 返回 NULL,否则返回 expr1 - 5:COALESCE(expr1, expr2, ...., expr_n)
返回参数中的第一个非空表达式(从左向右) 6:CASE WHEN ELSE
CASE case_value
WHEN when_value1 THEN
result1
WHEN when_value2 THEN
result2
...
ELSE
result
END CASE;
CASE 表示函数开始,END 表示函数结束。如果 when_value 成立,则返回 result1, 如果 when_value2 成立,则返回 result2,当全部不成立则返回 result,而当有一个成立之后,后面的就不执行了。
5.转换数据类型CAST(expr AS type)
CHAR[(N)] 字符型
DATE 日期型
DATETIME 日期和时间型
DECIMAL float型
SIGNED int
TIME 时间型
SELECT CAST("2017-08-29" AS DATE);
6.字符串操作
- 1:CONCAT(str1,str2,...)
字符串 str1,str2 等多个字符串合并为一个字符串 - 2:CONCAT_WS(separator,str1,str2,...)
合并str1,str2 等多个字符串,并添加分隔符separator - 3:INSERT(str,pos,len,newstr)
返回字符串 str 的前 len 个字符 - 4:LEFT(str,len)
返回字符串 str 的前 len 个字符 - 5:LCASE(str)或LOWER(str)
将字符串 str 的所有字母变成小写字母 - 6:UPPER(str)或UCASE(str)
将字符串 str 的所有字母变成大写字母 - 7:REPLACE(str,from_str,to_str)
将字符串 to_str 替代字符串 str 中的字符串 from_str - 8:CHAR_LENGTH(str)或CHARACTER_LENGTH(str)
返回字符串 str 的字符数 - 9:SUBSTRING(str,index)
当index>0从左边开始截取直到结束 当index<0从右边开始截取直到结束 当index=0返回空。 - 10:SUBSTRING_INDEX(str,index,len)
把字符串str截取,从index开始,截取len长度。 - 11:SUBSTRING_INDEX(str,delim,count)
把字符串str按delim为分隔符进行拆分,当count为正数,取第n个分隔符之前的所有字符,当count为负数,取倒数第n个分隔符之后的所有字符。
上一篇 : Adobe CC 全套软件下载
下一篇 : MySQL设置修改root密码