MYSQL 的基本操作

这篇博客详细介绍了MySQL的基本操作,包括登陆、操作命令、创建和删除数据库、操作数据库、备份与导入、SQL语句(DDL、DML、DQL)以及其他常用指令。内容涵盖数据库的增删改查、权限管理及数据备份恢复等。

目录

1.mysql默认登陆后默认登录的是mysql数据库;

2, 登陆mysql数据库 

3, 操作命令:  

4,创建和删除数据库  

5, 操作数据库  

6, 备份数据库    

7, 将备份的数据库导入到数据库中  

8、SQL DDL语句:

8、SQL DML语句(对表进行增删改查):

9、SQL DQL语句:结构化查询

10,其他常用mysql指令  


1.mysql默认登陆后默认登录的是mysql数据库;

2, 登陆mysql数据库 

   以mysql数据库管理员root,密码为123456为例;  

mysql -uroot -proot
或者
mysql -uroot -p
或者
#/opt/mysql/bin/mysql -u root -p  

如果找不到该命令,检查PATH变量,出现 Enter password:输入密码,回车。  然后出现:

 mysql>   

现在就进入了mysql的管理界面了, 注意在登陆之前,确保mysql已经启动。

3, 操作命令:  

在mysql数据库中,每操作一个命令,都是;号结尾的。如果忘记加;使用\c退出。  

 显示已有的databases:  

 mysql> show databases;  

4,创建和删除数据库  

  创建数据库:  

mysql> create database [数据库名];  
  
如:mysql> create database crc;  

删除数据库:   

 mysql> drop database [数据库名];  
  
如: mysql> drop database crc;  

5, 操作数据库  

       首先是要指定一个数据库为当前数据库,应该用use命令,    

      mysql> use [数据库名];  

6, 备份数据库    

# mysqldump -u root -p linux > /root/linux.sql  

        然后输入密码 Enter Password:  

 首先备份数据库是要以数据库管理员的身份(非系统管理员)备份;其次:备份目的地是/root,备份的文件名是linux.sql。其实备份的位置和文件名,根据自己的情况来定。文件名可以自己来取,路径也可以自己来安排;  

  比如我想把linux的数据库备份到/home/beinan,数据库的文件名为localhost.sql,所以应该输入如下的命令。  

 
[root@localhost root]#mysqldump -u root -p linux > /home/beinan/localhost.sql

7, 将备份的数据库导入到数据库中  

 比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作:  

# mysql -u root -p linux < /home/beinan/localhost.sql  

   Enter password:在这里输入密码  

8、SQL DDL语句:

  创建数据库表:

create table 表名(列名 数据类型,列名 数据类型(规定的数据长度),列名 数据类型(规定的数据长度));

create table students (id int,name varchar(25),age int,email varchar(255));

查询表中的内容:

desc 表名;     例如:desc students;

给表添加列:

alter  table 表名  add 列名 数据类型;   例如:alter table students add score int;    就是给students表添加score列

修改列的数据类型:

alter table 表名 modify 要修改的字段 要修改成的数据类型;  例如修改表students的id字段的数据类型为bigint             alter table students modify id bigint;

删除表中的字段:

alter table 表

名 drop 要删除的字段;  例如删除students 表的nums字段:alter table students drop nums;

修改表名:

  rename table 要修改的表的表名 to 修改后的表的表名;

查看完整的创建表的信息:

show create table 表名;

修改默认字符集: alter table 表名 character set 要修改成的字符集;  比如要将上面表的字符集修改成utf8    alter table employee character set utf8;

修改表的列名:

alter table 表名 change 列名 修改后后的列名 该列的数据类型;

例如修改上图中表的那么列为newname列    alter table employee change name newname varchar(20);

删除表:

drop table 表名;

8、SQL DML语句(对表进行增删改查):

查询中的信息:

select 要查询的字段 from 表名;    例如查询students表中所有的信息   select *  from students;

向表中增加数据:

insert into 表名(字段1,字段二,字段N) values (字段1的值,字段2的值,字段N的值),(字段1的第二个值,字段2的第2个值,字段N的第2个值),(字段的第N个值,字段二的第N个值,字段N的第N个值);

例如:给表添加三个字段

insert into students (id,name,age,email,score) values (1,'zhangsan',19,'12345@qq.com',80),(2,'lisi',20,'09876@qq.com',79),(3,'wangwu',23,'34567@qq.com',78);

更新表信息:

update 表名 set score=90;  更新score列中的所有数据

update 表名  set score=60 where name=zhangsan;更新score列中name是zhangsan的列

update 表名 set score=80,age=40 where name='wangwu'; 统一个name更改多个列的值时。

通过sql命令修改数据库密码:5.7之后的版本适用此密码

update mysql.user set authentication_string=password('123456') where user='root' and Host='loaclhost';

修改完需要刷新数据库配置信息:flush privileges;

通过mysql命令修改数据库密码:

 mysqladmin -u root -p password 1234;  该命令必须提前配置环境变量,或者进入mysql数据库相应的bin文件夹才能执行。

删除表中指定的数据:
delete from 表名 where 列名=‘删除的值’; 例如:select from students where name='wangwu';

delete from 表名 ;  删除表中所有的数据

上面的删除表中信息的操作删除后可以恢复,下面的删除后不可以恢复,他是将表结构删除,然后在创建新的表;

truncate table 表名

9、SQL DQL语句:结构化查询

查询所有的列表信息:

select * from students;


查询指定的表信息:

select name,age from students;

条件查询:

select * from 表名 where 列一=值 and 列二=值;

and 代表且

or 代表或

范围查询:

根据关键字查询关键字里固定的某些值:select * from 表名 where 关键字 in (关键字里包含的值一,关键字里包含的值二,关键字里包含的值三);

例如: select * from students where id in(1,,2,3);

查询部分值为空的值得记录:

select * from 表名 where 字段 is null;

查询部分值部位空的值得记录:

select * from students where name is not null;

通过不等号的查询:

select * from 表名 where 字段 !=值;

范围查询,大于等于,小于等于:

select * from 表名 where 要查询的范围信息;

或者用between 

模糊查询:

select * from 表名 where 字段 like ‘____’ ; 每个下划线代表一个字符,该例中查询name是四个字符的值

查询由八个字符组成,且最后一个字符是n的name的值:

select * from student where name like '_____n';

%通配符查询:

查询以m开头的学生记录

select * from students where name like 'm%';

查询第二个字母是i的所有name字段的值:

select * from students where name like '_i%;

查询带有s的左右名字:

select * from students where name like '%s%;

将重复信息过滤掉用distinct 

select distinct name from  students;

简单的数值类型计算:

select *,age+score from students;

如果出现空就自动忽略掉空,如果相加的值都为null 那就将计算结果设为0;

select *,infull(age,1)+ifnull(score,0) from students;

给计算结果列添加别名:

select *,ifnull(age,1)+infull(score,0) as total from students;

给查询结果添加别名:

select name as resName from students;

表的升序和降序:

select * from students order by age desc,id desc;

order by 表示排序, age desc 表示按age大小进行降序排序  id desc 表示在age一样的情况下根据id大小进行降序。

10,其他常用mysql指令  

     查看状态:

mysql>show status;  

查看进程:

mysql>show processlist;  

 查看表,应该先指定一个数据库为当前数据库;比如是名为linux的数据库;show tables;   

mysql>use linux;  
mysql> show tables;  
Empty set (0.00 sec)  

显示当前mysql版本和当前日期

select version(),current_date;

mysqladmin drop databasename 删除数据库前,有提示。

mysql>describe user; 显示表mysql数据库中user表的列信息);

创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个

mysql> grant all privileges on *.* to user@localhost identified by ’something’ with

增加新用户

格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值