mysql数据库查询

mysql数据库查询,第1张

建议您修改表的结构

建立一个子表keyword,子表记录有3个字段id,keyword,和sid

其中id主键自增(除了区分没有其他用处),sid对应您原来保存keyword字段的记录的id,keyword对应一个关键词(只有一个!!!)

举个例子,一篇关于电子商务的文章,保存在表news里面,文章的id为9。该文章有3个关键字“b2b”“生鲜”“蓝筹”

如何保存该文章的关键字呢?

在keyword表中如下书写:

id keyword sid

1 b2b 9

2 生鲜 9

3 蓝筹 9

您看明白了么?这就把“一个数组中有多少元素”的问题转化为了“一个表keyword中sid为9的记录有多少条”的问题!!!因为数据库中是没有数组这一数据结构的!!!所以刚刚的思路有问题!

做了子表以后,不但可以用关联查询解决您的问题,还无形中对数据库进行了优化,因为您说了,该字段的长度不定,所以存储单元一定是按照最长的记录来开辟的,大数据时很浪费数据库资源。

使用了子表,keyword字段就真的只有一个关键词的长度,大大降低了数据库的冗余。

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;

mysql中,查询数据库中两个时间段之间的数据有如下两种方法:

select from 表名 where 列名<'时间段1' and 列名>'时间段2'

select from 表名 where 列名 between '时间段1' and '时间段2'

执行结果分别如下:

:

数据库简介

MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。

MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。

MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。

使用select命令,可以查询所有表名

写法如下:

select table_name from information_schematables where table_schema='当前数据库'

扩展资料

其它用法

1、使用SHOW语句找出在服务器上当前存在什么数据库:

mysql> SHOW DATABASES;

2、创建一个数据库MYSQLDATA

mysql> CREATE DATABASE MYSQLDATA;

3、选择你所创建的数据库

mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明 *** 作成功!)

4、查看现在的数据库中存在什么表

mysql> SHOW TABLES;

5、创建一个数据库表

mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6、显示表的结构:

mysql> DESCRIBE MYTABLE;

7、往表中加入记录

mysql> insert into MYTABLE values (”hyq”,”M”);

8、用文本方式将数据装入数据库表中(例如D:/mysqltxt)

mysql> LOAD DATA LOCAL INFILE “D:/mysqltxt” INTO TABLE MYTABLE;

9、导入sql文件命令(例如D:/mysqlsql)

mysql>use database;

mysql>source d:/mysqlsql;

参考资料:

百度百科:MySQL数据库

以上就是关于mysql数据库查询全部的内容,包括:mysql数据库查询、MySQL如何创建数据库并查询数据类型、在mysql数据库中怎么查询出两个时间段之间的数据 等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9809238.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存