当前位置:首页 » 数据仓库 » 查看mysql数据库类型
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

查看mysql数据库类型

发布时间: 2022-05-25 04:37:27

A. 如何查看mysql数据库

查看当前使用的数据库,可使用如下命令
mysql> select database(); #使用函数database()
mysql> show tables; #列头信息中可看出当前使用的db,格式为:Tables_in_[db_name]
mysql> status; #注意结果中的"Current database:"信息

查看系统中有哪些数据库,
mysql> show databases;
更换当前使用的数据库,
mysql> use db_name;

返回当前数据库下的所有表的名称
mysql> show tables;
或者直接用如下命令
mysql> show tables from db_name;

查看表结构,可使用如下命令
mysql> desc 表名;
mysql> describe 表名;
mysql> show columns from 表名;
mysql> show create table 表名;
或者,
mysql> use information_schema
mysql> select * from columns where table_name='表名';

15个 MySQL 菜鸟问题

问题1:你如何确定 MySQL 是否处于运行状态?
答案: Debian 上运行命令 service mysql status,在RedHat 上运行命令 service mysqld status。然后看看输出即可。

问题2:如何开启或停止 MySQL 服务?
答案:运行命令 service mysqld start 开启服务;运行命令 service mysqld stop 停止服务。

问题3:如何通过 Shell 登入 MySQL?
答案:运行命令 mysql -u root -p

问题4:如何列出所有数据库?
答案:运行命令 show databases;

问题5: 如何切换到某个数据库并在上面工作?
答案:运行命令 use database_name; 进入名为 database_name 的数据库。

问题6:如何列出某个数据库内所有表?
答案:在当前数据库运行命令 show tables;

问题7:如何获取表内所有 Field 对象的名称和类型?
答案:运行命令 describe table_name;

问题8:如何删除表?
答案:运行命令 drop table table_name;

问题9:如何删除数据库?
答案:运行命令 drop database database-name;

问题10:如何查看表内所有数据?
答案:运行命令 select * from table_name;

问题11:如何从表(比如 oc_users )中获取一个 field 对象(比如 uid)的所有数据?
答案:运行命令 select uid from oc_users;

问题12:假设你有一个名为 ‘xyz’ 的表,它存在多个字段,如 ‘createtime’ 和 ‘engine’。名为 engine 的字段由 ‘Memoty’ 和 ‘MyIsam’ 两种数值组成。如何只列出 ‘createtime’ 和 ‘engine’ 这两列并且 engine 的值为 ‘MyIsam’?
答案:运行命令 select create_time, engine from xyz where engine = ”MyIsam”;

问题13:如何列出表 ‘xrt’ 内 name 域值为 ‘tecmint’,web_address 域值为 ‘tecmint.com’ 的所有数据?
答案:运行命令 select * from xrt where name = “tecmint” and web_address = “tecmint.com”;

问题14:如何列出表 ‘xrt’ 内 name 域值不为 ‘tecmint’,web_address 域值为 ‘tecmint.com’ 的所有数据?
答案:运行命令 select * from xrt where name != "tecmint" and web_address = "tecmint.com";

问题15:如何知道表内行数?
答案:运行命令 select count(*) from table_name;

B. 怎么查看ubuntu mysql数据库

1、列出当前用户可查看的所有数据库:SHOW DATABASES。

C. MySQL数据库基础+ 数据库的基本操作

需要用的资料以链接的形式给需要的同学。

我用的mysql版本为: Mysql-5.5.45-win64.msi 密码是:26zw

图形化工具 Navicat(前期不推荐用,直接手动敲): Navicat 密码:c7fs

开始我的MySQL之旅吧 始于2016.12.04

--WH

一、数据库的安装

这个就不在这里过多阐述了,因为网上实在是太多安装mysql的教程了,有了我给的mysql,在按照这个安装教程(MySQL安装教程)去看,就能够安装完好。

安装好mysql后,如果需要使用windows命令窗口(也就是cmd)来操作mysql,那么就需要配置环境变量,在安装好的mysql下找到bin,将其目录放到环境变量path中去,就行了,检测成功与否的方法是在cmd命令窗口中输入mysql,就会出现一大段英文,就说明成功了,反之失败,如果不会的话就去网络搜教程。

二、数据库的基本操作

1、开启mysql服务命令

net start mysql

2、进入mysql的两种方式

明文进入:mysql -uroot -proot格式:mysql -u帐号-p密码

密文进入:mysql -uroot -p 按enter会提示你输入密码(Enter pssword:),此时你写的密码就会显示为***这样。

3、查看mysql中所有的数据库(一般在固定的单词命令就会是用大写,这个要习惯,看多了敲多了就认识了)

前面四个数据库是mysql中自带的,也就是必须的.

SHOW DATABASES;

4、创建名为test_1的数据库

格式:CREATE DATABASE 数据库名

CREATE DATABASE test_1;

5、删除名为test_1的数据库

格式:DROP DATABASE 数据库名

DROP DATABASE test_1;

总结:学习了对数据库的三个操作,1、查看所有数据库 2、创建数据库 3、删除数据库

三、数据表的基本操作

数据表和数据库还有Mysql三者的关系

mysql中保存了很多数据库、一个数据库中可以保存很多表。

对数据表的增(创建表)删(删除表)改(修改表字段)查(查询表结构)。 注意:这里的操作对象是表,对表的操作也就是表的结构,和表中的字段的操作(字段和记录要分清楚)

前提:表是在数据库下的,所以要先确实使用哪个数据库。

USE test_1;

1、创建数据表

格式:CREATE TABLE 数据表名(

字段名1数据类型[列级别约束条件],

字段名2数据类型[列级别约束条件],

字段名3数据类型[列级别约束条件]

);

注意:格式不一定需要这样隔着写,完全可以全部写成一行。但是那样写可观性非常差。我这样写只是为了可以看的更清晰。

解释:

1、[]中括号中的内容表示可以有可以没有,

2、列级别这个“列”一定要搞清楚说的是什么,一张表中有行有列,列表示竖,行表示横

3、约束条件后面会讲到

1.1、创建没有约束的student表
CREATE TABLE student( idINT(11), nameVARCHAR(12), ageINT(11) );

注释:SHOW TABLES 查询数据库底下的所有表。

1.2、创建有约束的student表

六大约束:主键约束、外键约束、非空约束、唯一约束、默认约束、自动增加

1.2.1:主键约束

PRIMARY KEY(primary key):独一无二(唯一)和不能为空(非空),通俗的讲,就是在表中增加记录时,在该字段下的数据不能重复,不能为空,比如以上面创建的表为例子,在表中增加两条记录,如果id字段用了主键约束。则id不能一样,并且不能为空。一般每张表中度有一个字段为主键,唯一标识这条记录。以后需要找到该条记录也可以同这个主键来确认记录,因为主键是唯一的,并且非空,一张表中每个记录的主键度不一样,所以根据主键也就能找到对应的记录。而不是多条重复的记录。如果没有主键,那么表中就会存在很多重复的记录,那么即浪费存储空间,在查询时也消耗更多资源。

一般被主键约束了的字段度习惯性的称该字段为该表的主键

单字段主键约束

两种方式都可以

CREATE TABLE student(CREATE TABLE student(

idINT(11) PRIMARY KEY,idINT(11),

nameVARCHAR(12),nameVARCHAR(12),

ageINT(11) ageINT(11),

);PRIMARY KEY(id) );

多字段主键约束(复合主键)

这个id和name都市主键,说明在以后增加的插入的记录中,id和name不能同时一样,比如说可以是这样。一条记录为id=1,name=yyy、另一条记录为:id=1,name=zzz。 这样是可以的。并不是你们所理解的两个字段分别度不可以相同。

CREATE TABLE student(CREATE TABLE student(

idINT(11) PRIMARY KEY,idINT(11),

nameVARCHAR(12) PRIMARY KEY,nameVARCHAR(12),

ageINT(11)ageINT(11),

);PRIMARY KEY(id,name) );

1.2.2:外键约束

什么是外键举个例子就清楚了,有两张表,一张表是emp(员工)表,另一张表是dept(部门)表,一个员工属于一个部门,那么如何通过员工能让我们自己他在哪个部门呢?那就只能在员工表中增加一个字段,能代表员工所在的部门,那该字段就只能是存储dept中的主键了(因为主键是唯一的,才能确实是哪个部门,进而代表员工所在的部门,如果是部门名称,有些部门的名称可能是同名。就不能区分了。),像这样的字段,就符合外键的特点,就可以使用外键约束,使该字段只能够存储另一张表的主键。如果不被外键约束,那么该字段就无法保证存储进来的值就一定是另一张表的主键值。

外键约束的特点:

1、外键约束可以描述任意一个字段(包括主键),可以为空,并且一个表中可以有多个外键。但是外键字段中的值必须是另一张表中的主键。

2、这样被外键关联的两种表的关系可以称为父子表或者主从表。子表(从表)拥有外键字段的表,父表(主表)被外键字段所指向的表。

3、子表被外键约束修饰的字段必须和父表的主键字段的类型一样。

注意:一个表中有被外键修饰的字段,就称该表有外键(是“有外键”。而不是“是外键”),并会给该表中的外键约束取一个名称,所以我们常说的这个表有没有外键,指的不是被外键约束修饰的字段名,而是指这个表是否有存在外键约束。也就是说,不能说这个表的外键是xxx(该表中被外键约束修饰的字段名),这种说法是错误的,但是大多数人已经习惯了这样,虽然影响不大,但是在很多时候需要理解一个东西时,会造成一定的困扰。

格式:CONSTRAINT外键名称FOREIGN KEY(被外键约束的字段名称)REFERENCES 主表名(主键字段)

英文解释:CONSTRAINT:约束REFERENCES:参考

CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22),
location VARCHAR(50),
PRIMARY KEY(id)
);
CREATE TABLE tableB
(
id INT(11),
name VARCHAR(22) NOT NULL,
deptId INT(11),
PRIMARY KEY(id),
CONSTRAINT tableA_tableB_1 FOREIGH KEY(deptId) REFERENCES tableA(id)
);

解释:tableB中有一个名为tableA_tableB_1的外键关联了tableA和tableB两个表,被外键约束修饰的字段为tableB中的deptId,主键字段为tableA中的id

1.2.3:非空约束

NOT NULL. 被该约束修饰了的字段,就不能为空,主键约束中就包括了这个约束

CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22) NOT NULL,
location VARCHAR(50),
PRIMARY KEY(id)
);

1.2.4:唯一约束

UNIQUE 被唯一约束修饰了的字段,表示该字段中的值唯一,不能有相同的值,通俗点讲,就好比插入两条记录,这两条记录中处于该字段的值不能是一样的。

CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22) UNIQUE,
location VARCHAR(50),
PRIMARY KEY(id)
);

也就是说在插入的记录中,每条记录的name值不能是一样的。

1.2.5:默认约束

Default 指定这一列的默认值为多少,比如,男性同学比较多,性别就可以设置为默认男,如果插入一行记录时,性别没有填,那么就默认加上男

CREATE TABLE table
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
deptId INT(11) DEFAULT 1111,
salary FLOAT
);

1.2.6:自动增加

AUTO_INCREMENT 一个表只能一个字段使用AUTO_INCREMENT,并且使用这个约束的字段只能是整数类型(任意的整数类型 TINYINT,SMALLIN,INT,BIGINT),默认值是1,也就是说从1开始增加的。一般就是给主键使用的,自动增加,使每个主键的值度不一样,并且不用我们自己管理,让主键自己自动生成
CREATE TABLE table ( id INT(11) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(22) NOT NULL );
2、查询表结构

2.1、查看表基本结构语句

格式1:DESCRIBE 表名/DESC 表名这两个的功能是一样的,简写了单词describe

DESCRIBEstudent;

2.2、查看创建表的语句

格式:SHOW CREATE TABLE 表名

SHOW CREATE TABLE student;

这样显示的格式很不好,看不清楚,所以有了下面这个语句

格式:SHOW CREATE TABLE 表名\G

SHOW CREATE TABLE student\G;

3、修改数据表

修改数据表包括:对表中字段的增加、删除、修改。 在这个里面用的关键字为 ALTER

3.1、修改表名

格式:ALTER TABLE<旧表名> RENAME[TO]<新表名>;

将student表名改为student1(改完后在改回来)

ALTER TABLE student RENAME TO student1;

3.2、修改表中的字段名

格式:ALTER TABLE<表名> CHANGE<旧字段名><新字段名><新数据类型>

将student表中的name字段名改为 username

ALTER TABLE student CHANGE name username VARCHAR(30);

3.3、修改表中的数据类型

格式:ALTER TABLE<表名> MODIFY<字段名><数据类型>

ALTER TABLE student MODIFY username VARCHAR(20);

解释:只能修改字段名的数据类型,但是其原理跟上面change做的事情一样,这里也有修改字段名的过程,只不过修改后的字段名和修改前的字段名相同,但是数据类型不一样。

3.4、修改字段的排列位置

方式1:ALTER TABLE<表名> MODIFY<字段1><数据类型> FIRST|AFTER<字段2>

解释:将字段1的位置放到第一,或者放到指定字段2的后面

ALTER TABLE student MODIFY username VARCHAR(20) AFTER age;

方式2:ALTER TABLE<表名> CHANGE<字段1><字段2><数据类型> FIRST|AFTER<字段3>

解释:其实是一样的,将是字段2覆盖字段1,然后在进行排序

ALTER TABLE student CHANGE username username VARCHAR(20) AFTER age;

总结

CHANGE和MODIFY的区别?

原理都市一样的,MODIFY只能修改数据类型,但是CHANGE能够修改数据类型和字段名,也就是说MODIFY是CHANGE的更具体化的一个操作。可能觉得用CHANGE只改变一个数据类型不太爽,就增加了一个能直接改数据类型的使用关键字MODIFY来操作。

3.5、添加字段

格式:ALTER TABLE<表名称> ADD<新字段名><数据类型>[约束条件][FIRST|AFTER<已存在的表名>]

解释:在一个特定位置增加一个新的字段,如果不指定位置,默认是最后一个。

ALTER TABLE student ADD sex VARCHAR(11);

3.6、删除字段

格式:ALTER TABLE<表名称> DROP<字段名>;

ALTER TABLE student DROP sex;

3.7、删除表的外键约束

格式:ALTER TABLE<表名称> DROP FOREIGN KEY<外键约束名>

注意:外键约束名 指的不是被外键约束修饰的字段名,切记,而是我们在创建外键约束关系时取的名字。

3.8、更改表的存储引擎

格式:ALTER TABLE<表名> ENGINE=<更改后的存储引擎名>

这个存储引擎目前我自己也不太清楚,虽然知道有哪几种引擎,但是稍微深入一点就不清楚了,所以打算留到日后在说。

4、删除表

4.1、删除无关联表

格式:DROP TABLE<表名>;

ALTER TABLE student;

4.2、删除被其他表关联的主表

这个是比较重要的一点,在有外键关联关系的两张表中,如果删除主表,那么是删不掉的,并且会报错。因为有张表依赖于他。那怎么办呢?针对这种情况,总共有两种方法

1、先删除你子表,然后在删除父表,这样就达到了删除父表的目的,但是子表也要被删除
2、先解除外键关系,然后在删除父表,这样也能达到目的,并且保留了子表,只删除我们不需要的父表。在3.7中就讲解了如何删除外键关系。

D. MYSQL数据库中,常见的数据类型有哪些

Mysql支持的多种数据类型主要有:数值数据类型、日期/时间类型、字符串类型。 1.整数数据类型及其取值范围:

类型
说明
存储需求(取值范围)

tinyint 很小整数 1字节([0~255]、[-128~127]); 255=2^8-1;127=2^7-1
smallint 小整数 2字节(0~65535、-32768~32767) ;65535=2^16-1
mediumint 中等 3字节(0~16777215) ;16777215=2^24-1
int(integer) 普通 4字节(0~4294967295) ;4294967295=2^32-1
bigint 大整数 8字节(0~18446744073709551615);18446744073709551615=2^64-1
浮点数&定点数:

E. 怎么查看mysql创建的数据库

1、//看当前使用的是哪个数据库 ,如果你还没选择任何数据库,结果是NULL。mysql>select database(); +------------+ | DATABASE() | +------------+ | menagerie | +------------+
2、//查看有哪些数据库 mysql> show databases;
+--------------------+| Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+
3、//选择数据库 mysql>use test; //;号可有可无,必须单行使用.
4、为了找出当前的数据库包含什么表(例如,当你不能确定一个表的名字),使用这个命令:
5、//看数据库里有哪些表mysql>show tables;
+---------------------+| Tables in menagerie | +---------------------+ | event | | pet | +---------------------+ 如果你想要知道一个表的结构,可以使用DESCRIBE命令;它显示表中每个列的信息:
6、//看表里有哪些列mysql> describe pet;
+---------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | owner | varchar(20) | YES | | NULL | | | species | varchar(20) | YES | | NULL | | | *** | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | | death | date | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ Field显示列名字,Type是列的数据类型,Null表示列是否能包含NULL值,Key显示列是否被索引而Default指定列的默认值。 如果表有索引,SHOW INDEX FROM tbl_name生成有关索引的信息。 删除数据库.
mysql>drop database test;

F. 怎么使用mysql workbench 查询mysql数据库

有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。
1. check table 和 repair table
登陆mysql 终端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:
repair table tabTest;
进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI
关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)

G. mysql 怎么查看创建的数据库和表

方法:
查看数据库表的创建时间可以在information_schema中查看
information_schema数据库表说明:
schemata表:提供了当前mysql实例中所有数据库的信息。是show
databases的结果取之此表。
tables表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show
tables
from
schemaname的结果取之此表。
数据库表的创建时间在tables表中的create_time字段
select create_time from tables where table_schema='数据库名' and table_name='表名';
将上面的数据库名以及表名替换为所要查询的数据即可。

H. 如何看mysql都有哪些数据库

第一步:首先是查看mysql数据库的端口号,使用命令show
第二步:查看有哪些数据库,
第三步:查看mysql数据库所有用户,
第四步:查看某个数据库中所有的表

I. MySQL查询结果中显示数据类型

你好

这个要看你使用的是什么客户端工具了

有的客户端工具会提供部分的数据类型信息,如下图所示

123 就是数字型

abc就是字符串

等等吧

望采纳

J. MySQL如何创建数据库并查询数据类型

  • 1、//看当前使用的是哪个数据库,如果你还没选择任何数据库,结果是NULL。
    mysql>select database();
    +------------+
    | DATABASE() |
    +------------+
    | menagerie |
    +------------+

  • 2、//查看有哪些数据库
    mysql>show databases;

  • +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | test |
    +--------------------+


  • 3、//选择数据库
    mysql>usetest;//;号可有可无,必须单行使用.


  • 4、为了找出当前的数据库包含什么表(例如,当你不能确定一个表的名字),使用这个命令:

  • 5、//看数据库里有哪些表
    mysql>show tables;

  • +---------------------+
    | Tables in menagerie |
    +---------------------+
    | event |
    | pet |
    +---------------------+
    如果你想要知道一个表的结构,可以使用DESCRIBE命令;它显示表中每个列的信息:

  • 6、//看表里有哪些列
    mysql> describe pet;

  • +---------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | name | varchar(20) | YES | | NULL | |
    | owner | varchar(20) | YES | | NULL | |
    | species | varchar(20) | YES | | NULL | |
    | *** | char(1) | YES | | NULL | |
    | birth | date | YES | | NULL | |
    | death | date | YES | | NULL | |
    +---------+-------------+------+-----+---------+-------+
    Field显示列名字,Type是列的数据类型,Null表示列是否能包含NULL值,Key显示列是否被索引而Default指定列的默认值。

    如果表有索引,SHOW INDEX FROM tbl_name生成有关索引的信息。

    删除数据库.

  • mysql>drop database test;