ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL基础使用命令

2022-08-24 20:30:24  阅读:185  来源: 互联网

标签:name 数据库 MySQL 基础 命令 表名 mysql table


0.MySQL服务的启动和停止

  1. Windows下:
# 以管理员身份运行命令提示符输入如下命令

# 启动 MySQL 服务命令:
net start MySQL服务名
# 停止 MySQL 服务命令:
net stop MySQL服务名

1.连接数据库

格式:mysql -h 主机地址 -P 端口号 -u 用户名 -p用户密码

1.连接到本机上的MYSQL。

如果已经配置好环境变量,DOS窗口下键入命令mysql -u root -p,使用默认主机名localhost,默认端口号3306。回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码.如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>

2.连接到远程主机上的MYSQL。

假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:

# u与用户名之间可以不用加空格,h与后面的主机地址可以不用加空格
mysql -h110.110.110.110 -u root -pabcd123
3.退出MYSQL命令: exit (回车)

2.增加用户

3.操作数据库

3.1创建数据库

命令:create database <数据库名>

例1:建立一个名为xhkdb的数据库

mysql> create database xhkdb;

例2:创建数据库并分配用户
①CREATE DATABASE 数据库名;
②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 用户名@localhost IDENTIFIED BY '密码';
③SET PASSWORD FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');
依次执行3个命令完成数据库创建。
注意:中文 “密码”和“数据库”是户自己需要设置的。

3.2显示数据库

命令:show databases; (注意:最后有个s)

3.3 删除数据库

命令:drop database <数据库名>;

例如:删除名为 xhkdb的数据库

mysql> drop database xhkdb;

例子1:删除一个已经确定存在的数据库

mysql> drop database drop_database;
Query OK, 0 rows affected (0.00 sec)

3.4 连接数据库

命令: use <数据库名>;

使用USE语句为一个特定的当前的数据库做标记,不会阻碍您访问其它数据库中的表。下面的例子可以从db1数据库访问作者表,并从db2数据库访问编辑表:

mysql> USE db1;
mysql> SELECT author_name,editor_name FROM author,db2.editor
 ->  WHERE author.editor_id = db2.editor.editor_id;

退出数据库或连接其他数据库直接 use 其他数据库名称 就可以了。

3.5查看当前选择的数据库
mysql> use text
Database changed
mysql>  select database();
+------------+
| database() |
+------------+
| text       |
+------------+
1 row in set (0.00 sec)

MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能?

(1). 显示MYSQL的版本

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.15    |
+-----------+
1 row in set (0.00 sec)

(2). 显示当前时间

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2021-01-30 09:37:30 |
+---------------------+
1 row in set (0.00 sec)

(3). 显示年月日

mysql> select year(current_date);
+--------------------+
| year(current_date) |
+--------------------+
|               2021 |
+--------------------+
1 row in set (0.00 sec)

mysql> select month(current_date);
+---------------------+
| month(current_date) |
+---------------------+
|                   1 |
+---------------------+
1 row in set (0.00 sec)

mysql> select dayofmonth(current_date);
+--------------------------+
| dayofmonth(current_date) |
+--------------------------+
|                       30 |
+--------------------------+
1 row in set (0.00 sec)

(4).显示字符串

mysql> select "hello,world";
+-------------+
| hello,world |
+-------------+
| hello,world |
+-------------+
1 row in set (0.00 sec)

(5).当计算器用

mysql> select ((4 * 4) / 10 ) + 25;
+----------------------+
| ((4 * 4) / 10 ) + 25 |
+----------------------+
|              26.6000 |
+----------------------+
1 row in set (0.00 sec)

(6).串接字符串
(7). 查看数据库的创建信息

4.操作表

1.创建表

命令:create table <表名> ( <字段名1> <类型1> [,...<字段名n> <类型n>]);

2.获取表结构

命令: desc 表名;,或者show columns from 表名;

使用MySQL数据库,根据desc 表名的结果,我们看到Key那一栏,可能会有4种值,即' ','PRI','UNI','MUL'。这些值的含义是什么呢?

3.删除表

命令:drop table <表名>

4.向表插入数据
5.查询表
  1. 查询所有行,使用命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
# 查看表member中所有数据,*表示所有字段
mysql> select * from member;
  1. 查询前几行数据
# 查看表member中前2行数据
mysql> select * from member order by id limit 0,2;
  1. 使用AS关键字给列名取别名
SELECT name AS "姓名",age AS "年龄"from student;
  1. 使用DISTINCT关键字去除重复行
SELECT DISTINCT name AS "姓名",age AS "年龄" from student;
  1. 结合where子句过滤查询:where子句紧跟随from子句
 SELECT name,age FROM student where age > 23;
6.删除表

命令:delete from 表名 where 表达式

7.修改表中的数据

语法:update 表名 set 字段=新值,… where 条件

# 将member表中id等于2的tel改为18370430889
mysql> update member set tel = '18370430889' where id = 2;
8.增加表字段

命令:alter table 表名 add字段 类型 其他;

  1. 加索引:mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
  2. 加主关键字的索引:mysql> alter table 表名 add primary key (字段名);
  3. 加唯一限制条件的索引:alter table 表名 add unique 索引名 (字段名);
  4. 删除某个索引:alter table 表名 drop index 索引名;
  5. 增加字段:ALTER TABLE table_name ADD field_name field_type;
  6. 修改原字段名称及类型:ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
  7. 修改字段类型:ALTER TABLE table_name MODIFY colum_name field_type new_type;
  8. 删除字段:ALTER TABLE table_name DROP field_name;
9.修改表名

命令:rename table 原表名 to 新表名;

10.查看表的创建信息

使用show create table 表名;命令。这行命令可以查看到创建表时使用的字符集信息。

11.导入数据

在MySQL客户端下导入SQL文件:

source  xxx.sql
12.排序

排序使用order by子句,其涉及到的两个重要关键字ASC和DESC,分别表示升序和降序。

  1. 单列排序,不指定ASC或者DESC的其中一个,默认是升序的。
# 例如对年龄降序
SELECT * from student ORDER BY age DESC;
  1. 多列排序:在对多个列进行排序的时候,排序的第一列有相同的列值,才会对第二列进行排序。
# 例如对姓名,年龄进行排序。姓名相同,按照年龄降序
SELECT * from student ORDER BY name, age DESC;
13.分页

MySQL中使用limit关键字实现分页。格式为LIMIT [位置偏移量,] 行数,不指定位置偏移量,会从表中的第一条记录开始,第一条记录的位置偏移量是0。

#  前2条记录
SELECT * from student LIMIT 0,2;

5.查看字符集和排序相关

  1. 查看字符集:show variables like 'character_%';

  2. 查看排序:show variables like 'collation_%';

标签:name,数据库,MySQL,基础,命令,表名,mysql,table
来源: https://www.cnblogs.com/xiaocer/p/16621453.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有