MySQL_CRUD_In_Terminal

从Terminal中,可以对数据库进行链接,无需GUI界面就可以对数据库进行相关操作。对于Linux、Windows、MacOS,也可以使用可视化软件Navicat、MySQL Workbench进行GUI操作。

数据库命令行部分(使用终端操作数据库):

使用Terminal可以进行CRUD操作,即对数据进行增删改查操作。CRUD=Create增、Retrieve查、Update改、Delete删。在下面的小节中,将不会按照市面上大部分文章中按照关键字的使用进行书写,而会按照语句的功能所对应的CRUD操作进行梳理,更便于今后使用的查找。因此,CRUD操作之间可能会存在重复。

用户及设置Log in &Settings:

登录数据库服务器:使用命令mysql -uroot -pPASSWORD可以利用终端登录数据库服务器。登陆后,Terminal中会显示“mysql>”来表示用户在和mysql进行交互。可以用长参数--host=localhost --user=root --password=PASSWORD来代替短参数-t -u -p。


增加新用户:不想使用root这么高的权限,但是又需要分配一个新用户给普通使用者,这时候可以使用grant进行分配。
如果想增加一个用户user1,密码是passwd1,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限,在root用户连入MySQL后,键入以下命令:
grant select,insert,update,delete on *.* to user1@"%" identified by "passwd1";
grant后可以加select、insert、update、delete、create、drop、index、alter、grant、references、reload、shutdown、process、file这14个权限,如果想要加上全部权限,用all或者all privileges; *.*表示数据库.数据表,可以指定可访问的数据库中的数据表;"%"表示任何连接地址,可以使localhost、ip地址、机器名字、域名,但不能为空。
但这样的坏处是,任何知道这个用户的人,只要可以连接上你的主机,就可以远程登录,修改你任何的数据库中数据表中的内容。我们常使用下面的命令增加普通用户:
grant select,insert,update,delete on Programme.* to Jack@localhost identified by "HiJack";
这样,用户Jack就只能在本机修改Programme数据库中的相关内容了。另外,也可以不设置密码,只要将原来输入密码的地方改成空字符串""即可。


修改密码:使用mysqladmin -uXXX -pPASSWORD password NEWPASSWORD可以对用户的密码进行修改。

查看用户权限:使用show grants for "XXX"@"localhost"可以查看用户XXX的权限,localhost表示连接地址。

解除用户权限:使用revoke privileges on 数据库名[.表名] from 用户名对此用户在某数据库中的某权限进行解除。

删除用户:在root登录MySQL后,可以使用drop user 'XXX'@'localhost';来删除数据库中的本地用户XXX。删除用户不会删除此用户操作过的数据库数据表。

查看关键字帮助文档:登录MySQL后,可以使用? KEYWORD来查看关键字的帮助文档。

六张自动创建的数据表:在数据库中,有四张表(是数据表还是数据库)是自动创建的,分别是:

INFORMATION_SCHEMA:信息数据库,保存了MySQL服务器所维护的所有其他数据库的信息。

PERFORMANCE_SCHEMA:主要用于收集数据库服务器的性能参数、提供进程等待的详细信息(锁、互斥变量、文件信息)、保存历史事件的汇总信息、可以容易的新增和删除监控事件点和MySQL服务器监控周期。

MYSQL:保存MySQL的权限、参数、对象和状态信息(权限、DB参数、插件、主从等)

SYS:可以快速的了解系统的元数据信息。

SAKILA:是MySQL的一个样本数据库,里面都是一些例子。

查看存储引擎:使用命令show engines;可以查看系统支持的存储引擎。

选中数据库:使用命令use DATABASE1;可以对 DATABASE1进行操作,如果成功选中,mysql会回复Database changed。如果没有这张数据表,会显示Empty set

退出数据库服务器:使用命令exit;可以退出数据库服务器,停止用户和mysql的交互。

MySQL增操作Create:

在数据库服务器中创建数据库:使用命令create database NAME1;可以在数据库服务器中创建一个名为NAME1的数据库。一旦创建成功,mysql会回复Query OK

创建数据表:使用命令create table TABLENAME1(name varchar(20), species varchar(20), birth date, ......);可以在当前数据库中创建出一张名为TABLENAME1,表头(即数据字段)为name、species、birth等项目的一张空数据表。其中规定了name列中需要的数据是varchar类型,最多20字符;species列中需要的数据是varchar类型,最多20字符;birth列中需要date类型的数据。创建成功后,mysql会回复Query OK。
当然,每个字段都可以更为详细,如create table TABLENAME1 (COLNAME1 TYPE CONSTRAINT DEFAULTVALUE);
要注意:字段名之间要用逗号进行隔开,逗号后要添加空格,最后一个字段后不加逗号。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfxyg.html