mysql命令行语句,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或gbkcreate 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)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 的字符数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值