MySQL命令总结,以后继续补充

MySQL命令行总结

前言

最近要准备SAP的面试,它会考察JAVA知识点、数据库的知识,以及Git的一些常用命令,数据库MySQL我在大三的时候学习过,现在都忘了差不多啦,推荐那本《SQL必知必会》带我走进计算机的大门(数学系,被数学虐惨了)。

数据库命令

第一步,连接数据库。

一、进入MySQL bin目录后执行,回车后输入密码连接。

$ mysql -u root -p
常用参数:-h 服务器地址,-u 用户名,-p 密码,-P 端口

然后是一些常用的命令:
二、创建数据库,数据库名为dbname

create database dbname;

三、 创建todo数据库,并指定字符集

CREATE DATABASE todo DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

四、显示所有数据库

show databases;

五、修改数据库字符集

alter database character set utf8;

六、选择数据库

use dbname;

七、查看当前选择(use)的数据库

status;

八、删除数据库

drop database dbname;

九、显示所有表

show tables;

十、表结构详细描述

describe tablename;
desc tablename;

十一、复制表结构

create table newtable like oldtable;
insert into newtable select * from oldtable;

十二、重命名表,同时命名多个表用逗号“,”分割

rename table tablelname to new_tablelname

十三、删除表

drop table tablename;

十四、显示当前mysql版本和当前日期

select version(),current_date;

十五、返回Shell命令行

exit

十六、
create table命令用来创建数据表,格式:

create table <表名> (<字段名1> <类型1> [,…<字段名n> <类型n>]);
数据的类型之后还可以包含:数据宽度 + 是否为空 + 是否主键 + 自动增加 + 默认值,它们书写时不限顺序。但是字段名和字段类型必须是第一和第二位。例如,建立一个名为user的表:

mysql> create table user(
-> id int(4) not null primary key auto_increment,
-> name char(20) not null,
-> sex int(4) not null default ‘0’,
-> degree double(16,2)
-> );

3 修改root的密码
$ mysqladmin -u root password

十七、原始密码为空的情况New password: <输入新的密码>

Confirm new password: <再次输入新密码>

十八、原始密码不为空的情况Enter password: <输入旧的密码>

$ mysqladmin -u root -p password

Confirm new password: <再次输入新密码>

十九、原始密码不为空的情况,效果和第二种方法一样,只是显式的输入了原始密码

$ mysqladmin -uroot -p123456 password

二十、备份数据库表结构,包括数据,

$ mysqldump -u root -p dbname > dbname.sql

二十一、备份数据库表结构,不包含数据,

$ mysqldump -u root -p -d dbname > dbname.sql

二十二、备份数据库中的某张数据表(包含表结构和数据)

$ mysqldump -u root -p dbname tablename > tablename.sql

二十三、备份数据库中2张数据表

$ mysqldump -u root -p dbname tablename1 tablename2 > tables.sql

二十四、备份数据库中的某张数据表的表结构(不含数据)

$ mysqldump -u root -p -d dbname tablename > tablename.sql

二十五、 恢复数据库步骤1:创建数据库

$ mysqladmin -u root -p create dbname

二十六、恢复数据库步骤2:恢复数据

$ mysql -u root -p dbname < dbname.sql
$use dbname;
$source dbname.sql ;

$ mysqldump -h sql.domain.com -u root -p dbname > dbname.sql

mysql -h127.0.0.1 -P3306 -uroot -proot -Ae
“use test;select * from user where status=4 order by id desc;”
“C:\Users\Gary\user.txt”

MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户:

CREATE USER username IDENTIFIED BY ‘123456’;

新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限,分配权限的命令是grant,格式为:

GRANT <权限> ON <数据库>.<表名> TO <用户名>@<登录主机> IDENTIFIED BY “<密码>”
其中,权限可以是:all、select、insert、delete、update、drop等值。

于是,用下面的命令就可以执行特定的功能:

二十七、给用户 username 分配所有数据库的所有权限

GRANT ALL ON . TO ‘username’@‘localhost’ IDENTIFIED BY ‘123456’;

二十八、 如果觉得上面的权限太大,用 REVOKE 删除原来权限

REVOKE ALL ON . FROM ‘username’@‘localhost’;

二十九、重新授予仅在dbname数据库上的权限

GRANT ALL ON dbname.* TO ‘username’@‘localhost’
IDENTIFIED BY ‘123456’;

三十、仅授予select、update权限,无法执行insert、delete等命令

GRANT SELECT, UPDATE ON dbname.* TO ‘username’@‘localhost’
IDENTIFIED BY ‘123456’;

三十一、每当调整权限后,通常需要用这个命令刷新权限

FLUSH PRIVILEGES;

三十二、 删除用户

DROP USER username@localhost;

仔细观察上面几个命令,可以发现不管是授权,还是删除授权,都要指定响应的host(即@符号后面的登录主机,主机也可以用%通配符表示所有主机,或者192.168.1.% 表示特定主机段)。因为以上及格命令实际上都是在操作 mysql 数据库中的user表,

三十三、可以用如下命令查看相应用户及对应的host:

SELECT user, host FROM user;

当然,这个表中还包含很多其它例如用户密码、权限设置等很多内容,操作时候尤其需要小心。

三十四、数据库插入语句

INSERT into tablename (id,depid,name) values(10,1,‘gs’);

三十五、数据库删除语句

DELETE from tablename where depid=1 order by year desc limit 3;

三十六、数据库修改语句

UPDATE tablename set depid = 10 where name =‘gs’;

三十七、数据库查找语句

SELECT * from tablename;
SELECT * from tablename where id>10;
SELECT id,year,name,depid from tablename;
SELECT * from tablename where id in (select id from table2name where year >10);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值