测试开发技术网站
博客
设计
设计
开发
Python
测试
unittest
运维
Linux基础应用
CI/CD
CI/CD
数据库
数据库
云计算
云计算
云原生
云原生
爬虫
爬虫
数据分析
数据分析
人工智能
人工智能
登录
注册
MySQL----MySQL数据库数据表增删改查命令行基础操作初体验
收藏本文
作者:redrose2100 类别: 日期:2022-05-28 18:20:51 阅读:989 次 消耗积分:0 分
[TOC] ## 一、连接登录MySQL ### 1.1 从cmd窗口登录本机数据库 这里假设已经在windows上安装配置好数据库了 (1)以管理员权限打开cmd窗口 (2)连接windows本地的mysql数据库,默认端口为3306,执行如下命令,其中xxxxxxx为密码 ```bash mysql -uroot -pxxxxxx ``` 这种方式cmd窗口就暴露了密码,因此可以使用如下方式,这种是交互的方式,执行如下命令后回车,然后提示输入密码,此时密码也是隐藏的 ```bash mysql -uroot -p ``` (3)如果本地安装了两个数据库,比如安装了8.0版本的和5.7版本的,8.0端口为3306,5.7版本的端口为13306 连接登录3306的端口,执行如下命令然后输入密码即可 ```bash mysql -uroot -P3306 -p ``` 连接登录13306的端口,执行如下命令然后输入密码即可 ```bash mysql -uroot -P13306 -p ``` ### 1.2 从cmd窗口远程登录MySQL数据库 (1)如果连接远端的数据库,则需要指定ip 执行如下命令,然后输入密码即可 ```bash mysql -uroot -P3306 -hxx.xx.xx.xx -p ``` ## 二、MySQL数据库的常用操作命令初体验 ### 2.1 数据库的常用操作命令 首先登录5.7版本的数据库 (1)查看当前所有的数据库 ```bash show databases; ``` 如下,这四个数据库是默认的自带的, ```bash mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql> ``` (2)创建数据库 ```bash create database 数据库名; ``` 如: ```bash mysql> create database db_demo; Query OK, 1 row affected (0.01 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | db_demo | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) mysql> ``` (3)查看当前正在使用的数据库 ```bash select database(); ``` 如下,这里还尚未使用数据库 ```bash mysql> select database(); +------------+ | database() | +------------+ | NULL | +------------+ 1 row in set (0.00 sec) mysql> ``` (4)使用数据库 ```bash use 数据库名; ``` 如: ```bash mysql> use db_demo; Database changed mysql> select database(); +------------+ | database() | +------------+ | db_demo | +------------+ 1 row in set (0.00 sec) mysql> ``` (5)查看当前数据库中的表 ```bash show tables; ``` 如下,这里db_demo数据库中尚未创建表 (6)创建表,这里先简单体验一下 ```bash create table 表名(列名 列类型, 列名 列类型, 列名 列类型, ...); ``` 如下,创建一个学生表,表有两列,id和name ```bash mysql> create table student(id int, name varchar(32)); Query OK, 0 rows affected (0.02 sec) mysql> show tables; +-------------------+ | Tables_in_db_demo | +-------------------+ | student | +-------------------+ 1 row in set (0.00 sec) mysql> ``` (7)查看表中所有数据 ```bash select * from 表名; ``` 如下,此时student表中尚未写入数据 ```bash mysql> select * from student; Empty set (0.01 sec) mysql> ``` (8)向表中插入数据 ```bash insert into 表名 values(列值,列值); ``` 如下,插入五条数据 ```bash mysql> insert into student values(1001,"Tom"); Query OK, 1 row affected (0.00 sec) mysql> insert into student values(1002,"Jack"); Query OK, 1 row affected (0.00 sec) mysql> insert into student values(1003,"Hellen"); Query OK, 1 row affected (0.00 sec) mysql> insert into student values(1004,"June"); Query OK, 1 row affected (0.00 sec) mysql> insert into student values(1005,"Bob"); Query OK, 1 row affected (0.00 sec) mysql> select * from student; +------+--------+ | id | name | +------+--------+ | 1001 | Tom | | 1002 | Jack | | 1003 | Hellen | | 1004 | June | | 1005 | Bob | +------+--------+ 5 rows in set (0.00 sec) mysql> ``` (9)此时如果插入一条中文名,则会报错,如下所示 ```bash mysql> insert into student values(1006, '张三丰'); ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD\xB7\xE1' for column 'name' at row 1 mysql> ``` 注意此步骤如果是在8.0版本的数据库中操作时没有问题的,在5.7版本的数据库中是会报错的 (10)在5.7版本的数据库中执行如下命令查看数据表的创建命令 ```bash show create table 表名; ``` 如下,可以看到这里的默认的编码为latin1编码,显然latin1编码是不包含中文的。如果要支持中文,需要使用utf-8编码 ![](http://blog.redrose2100.com/static/upload/20220528_181550.png) 通过查看数据库创建的命令,也能看出数据库的编码是latin1编码,首先可参照 [MySQL----MySQL数据库插入中文报错或者乱码问题的解决办法](http://blog.redrose2100.com/article/312)修改整个数据库的字符编码为utf8,然后执行如下命令修改已经存在的数据库和数据表以及数据表中列字段的的编码格式,可以发现此时修改的过程还是相对比较麻烦的,因此最好在安装好数据库后就一次性将字符编码设置好,创建数据库的时候也同步指定默认编码为utf8 ```bash alter database db_demo character set utf8; alter table student character set utf8; alter table student change name name varchar(32) character set utf8; ``` 再次执行如下命令可以发现此时数据表的编码已经发生改变了 ```bash show create table student; ``` ![](http://blog.redrose2100.com/static/upload/20220529_033241.png) 此时向数据库中插入一条含有中文的数据就已经没有问题了 ```bash mysql> insert into student values(1006, '张三丰'); Query OK, 1 row affected (0.01 sec) mysql> select * from student; +------+--------+ | id | name | +------+--------+ | 1001 | Tom | | 1002 | Jack | | 1003 | Hellen | | 1004 | June | | 1005 | Bob | | 1006 | 张三丰 | +------+--------+ 6 rows in set (0.00 sec) mysql> ``` (11)删除数据表 ```bash drop table 表名; ``` 如下: ```bash mysql> drop table student; Query OK, 0 rows affected (0.01 sec) mysql> show tables; Empty set (0.00 sec) mysql> ``` (12)删除数据库 ```bash drop database 数据库名; ``` 如下: ```bash mysql> drop database db_demo; Query OK, 0 rows affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql> ```
始终坚持开源开放共享精神,同时感谢您的充电鼓励和支持!
版权所有,转载本站文章请注明出处:redrose2100, http://blog.redrose2100.com/article/311
上一篇:
MySQL----MySQL环境搭建即MySQL在Windows、Centos、Docker、Kubernetes环境下的安装部署
下一篇:
MySQL----MySQL数据库插入中文报错或者乱码问题的解决办法
搜索
个人成就
出版书籍
《Pytest企业级应用实战》
测试开发技术全栈公众号
测试开发技术全栈公众号
DevOps技术交流微信群
加微信邀请进群
常用网站链接
开源软件洞察
云原生技术栈全景图
Python语言官方文档
Golang官方文档
Docker官方文档
Jenkins中文用户手册
Scrapy官方文档
VUE官方文档
Harbor官方文档
openQA官方文档
云原生开源社区
开源中国
Kubernetes中文文档
Markdown语法官方教程
Kubernetes中文社区
Kubersphere官方文档
BootStrap中文网站
JavaScript中文网
NumPy官方文档
Pandas官方文档
GitLink确实开源网站
数据库排名网站
编程语言排名网站
SEO综合查询网站
数学加减法练习自动生成网站
Kickstart Generator
文章分类
最新文章
最多阅读
特别推荐
×
Close
登录
注册
找回密码
登录邮箱:
登录密码:
图片验证码:
注册邮箱:
注册密码:
邮箱验证码:
发送邮件
注册邮箱:
新的密码:
邮箱验证码:
发送邮件