Mysql常用命令

本文详细介绍MySQL的连接与操作命令,包括服务器的启动与关闭、密码管理、数据库与表的创建及管理、数据记录的增删改查等核心操作,并提供实际应用场景示例。

Mysql常用命令

一、  服务器连接与关闭

1、mysql的默认端口  -3306   apache 80

2、开启和关闭mysql数据库服务

   ①、控制面板->服务->mysql->中开启关闭

   ②、开启关闭命令   

C:\Users\mqw>net start mysql

       MySQL 服务正在启动

       MySQL 服务已经启动成功。

C:\Users\mqw>net stop mysql

    MySQL 服务正在停止..

    MySQL 服务已成功停止。

3、进入Mysql控制器  

C:\Users\mqw>mysql -u root -p
Enter password: ******      123456

 

4、退出服务器

mysql> exit  或者 quit   \q
Bye

 

 

二.忘记密码、找回密码      

 

Mysql–u root –p进入
Use mysql
Update user set password =password(‘123456’)where user = ‘root’;
FLUSHPRIVILEGES;

三.数据库操作

1.  查看数据库列表:

showdatabases;  

注意:这是是databases,复数形式有S

2.  创建数据库:

createdatabase 数据库名

3.  删除数据库:

dropdatabase 数据库名

4.  使用数据库:

use 数据库名

5.  数据库的备份和恢复

注意:数据库的备份和恢复操作是在CMD模式下操作,需要先开启数据库服务(net start mysql)不需要进入进入数据库(mysql -u root -p)

备份

mysqldump–u root -p523523 product >F:\111.txt  备份文件到F盘111.txt

恢复

mysql-uroot -p523523 text<F:\111.txt

四、表的操作

1.  查看数据库中的表:

showtables;

2.  表的创建: 

createtable 表名( 字段名 类型(长度) 字段约束1 字段约束2 字段约束3,字段名 类型(长度) 字段约束,字段名 类型(长度) 字段约束,...)engine=innodb default    charset=utf8;   表约束

 

mysql> createtable user2(uid int(6) not null auto_increment primary key,
                          uname varchar(10) not null,
                          age int(3),
                         addr varchar(100) not null
                     )engine innodb defaultcharset=utf8;

其中primary key表示主键,唯一标识;

表名的命名规则

1)不能以数字当表名;

2)表名不能使用关键字 table  create database use

3)表名不能与当前数据库其他表名重复

4)表前缀(可以不写)  Tk105_teacher

字段名的命名规则

1)不能以数字当字段名,必须有意义   name  address 

 2)字段名不能使用关键字  check

 3)表中的字段名不能重复

 

3.  查看数据库中的表:

showtables;

4.  查看表结构 : 

desc表名

5.  表名的更改:   

rename table 原表名 to 新表名;  

6.  表结构修改:   

alter table 表名 add|drop|modify|change 信息

1)增加表字段: 

alter table 表名 add    字段名 类型(长度)  字段约束alter table userlist addsex varchar(4) default "保密"  

 

    2)删除字段:      

 

alter table 表名  drop 字段名;   
alter table studentsdrop tel; 

 

 

    3)修改字段属性:(修改字段类型、字段长度、字段约束)  

 

alter table 表名 modify 字段名 类型....
alter table 表名 modify 字段名 类型(长度)  字段约束 

 

    4)修改字段     

 

alter table 表名 change 字段名 新字段名 新的字段类型; 
alter table studentschange sname name varchar(1000);

 

    注意:change和modify的区别:

    modify只能改变字段类型和字段约束

    change还可以改变字段名称,注意的是使用change的时候(原名称 新名称)不能省略(但是可以不变)

 

7.  删除表: 

 

droptable 表名

 

 

 

五.记录的操作(增删改查)重点哦! 

1.记录添加: 只要不是数值都要加引号

①一次插入一条记录:

 

insert into 表名(字段列表) values(值列表);
eg:insert into custom(sid,cname,sex,addr,email) value(1,'tom','男','beijing','12312@qq.com')

 

②  一次插入多条记录

 

insert into 表名(字段列表) values(数据列表),(数据列表),(数据列表)...;

 

 

 

③  导入数据

 

LOAD DATA INFILE 'data.txt'INTO TABLE tbname

 

txt文件:字段和字段之间以tab隔开,一行一条记录,不能随便乱打空格之类的字符;

 

mysql> LOAD DATA INFILE'data.txt' INTO TABLE student;
ERROR 29 (HY000): File'C:\ProgramData\MySQL\MySQL Server 5.1\Data\test\data.txt' not found (Errcode:2)

 

④  另一种插入方法: 

 

insert into  表名 set 字段名=值,字段名=值.....;
eg:insert into students setsname="鹗我红狗",address="很快就可",age=12;

 

 

 

 

2.记录修改      

 

update 表名 set 字段名=值,字段=值 where sid=?&& addr=””

 

 

where:用来筛选修改的记录是哪些记录

条件  字段名 = | > | < |>= |<= |!= | <> 值,!=和<>都是不等于;

注意:如果没有where条件,update修改的就是全部记录    

 

update  students set sid = 1000,sname = 'wangqiang'where sid = 100

 

 

 

3.记录删除

 

delete from 表名 where

 

注意:如果没有where, 清空表,但是表结构还在;如果有where条件代表的是删除某些记录

 

6.  记录检索(查询):

格式: 

 

select [all|distinct] *|字段列表|聚合函数字段列表  from表名

 

①  检索表中所有记录时:

 

select * from 表名;
Eg:select * from studentwhere sid=15;

 

如果查询的结果只是某些字段,可以直接写字段列表,如果全部查询,则写 *;

②  distinct:将查询结果去除重复的记录;

 

select  distinct addr  from students;

 

 

③  筛选结果:where字段= > < != <= >= <>  and(并且)   or(或) ||  &&   

            between n and m(包含边界,相当于>=n and <=m)

           in(在某个范围之内)    not in 
 

④  模糊查询:      _表示任何一个字符   like”栖霞_”

                                    %表示任何个任何字符          ‘%a%’

                                 eg:查询名称中含有a的学生信息                           

 

select * from tb where name like"%a%" 

 

⑤  分组:

            group by字段1,字段2...   having条件

            聚合函数用来修饰字段,写在前面:

             count():统计每个分组中的记录条数

             sum():统计每个分组中的记录和

             max():统计每个分组中字段的最大的记录

             min():统计每个分组中字段的最小的记录

             avg():统计每个分组中字段值的总平均数

             注意:分组的时候,二次筛选不要使用where,使用having

             having是在group by的基础上使用的,所以having的条件的字段名必须是groupby

             eg:统计每个地区学生的平均年龄     

 

select addr,avg(age) from student group by addr;

 

⑥  排序

   order by 字段1 [asc|desc],字段2 [asc|desc]...

   asc:升序 (默认值)

   desc:降序

 

⑦  记录条数筛选:

   limit起始下标,显示记录条数(数据库第一条记录下标为0)

   eg:

    limit 0,10   从第0记录取得数据,显示10条

    limit 10      和上面相同

    limit 10,10   从第11条取得数据,显示10条

   eg:每页显示

 

select* from student limt 0,2; 

 

 

以下是一些 MySQL 常用命令的分类介绍: ### 数据库连接和管理 - 连接 MySQL 服务器:`mysql -h host -u username -p`,其中 `host` 是服务器地址,`username` 是用户名,输入该命令后会提示输入密码 [^1]。 ### 数据库操作命令 - 创建数据库:`CREATE DATABASE database_name;` - 删除数据库:`DROP DATABASE database_name;` - 使用数据库:`USE database_name;` ### 数据表操作命令 - 创建表: ```sql CREATE TABLE table_name ( column1 datatype, column2 datatype, ... ); ``` - 删除表:`DROP TABLE table_name;` - 修改表结构,例如添加列:`ALTER TABLE table_name ADD column_name datatype;` ### 数据查询命令 - 基本查询: ```sql SELECT column1, column2, ... FROM table_name WHERE condition; ``` - 分组查询: ```sql SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING condition; ``` - 排序查询: ```sql SELECT column1, column2 FROM table_name ORDER BY column1 ASC|DESC; ``` - 分页查询:`SELECT * FROM table_name LIMIT offset, count;` [^2] ### 数据修改命令 - 插入数据:`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);` [^3] - 更新数据: ```sql UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition; ``` - 删除数据: ```sql DELETE FROM table_name WHERE condition; ``` ### 索引管理命令 - 创建索引:`CREATE INDEX index_name ON table_name (column1, column2, ...);` - 删除索引:`DROP INDEX index_name ON table_name;` ### 用户权限管理 - 创建用户:`CREATE USER 'username'@'host' IDENTIFIED BY 'password';` - 授予权限:`GRANT privilege_type ON database_name.table_name TO 'username'@'host';` - 撤销权限:`REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';` ### 备份与恢复 - 备份数据库:`mysqldump -u username -p database_name > backup_file.sql` - 恢复数据库:`mysql -u username -p database_name < backup_file.sql` ### 性能优化命令 - 分析表:`ANALYZE TABLE table_name;` - 优化表:`OPTIMIZE TABLE table_name;` ### 系统信息查看 - 查看 MySQL 版本:`SELECT VERSION();` - 查看当前使用的数据库:`SELECT DATABASE();`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值