建议您修改表的结构
建立一个子表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数据库中怎么查询出两个时间段之间的数据 等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)