mysql 有几个数据库
删掉了mysql这个数据库
test删不掉 报错 :Can't drop database 'test'; database doesn't exist
这怎么回事呢?
test已删 问第一个问题 , $connn=mysql_connect("localhost","root","root");
mysql_select_db("changtong",$connn);
mysql_query("set names gb2312");
现在选择...
mysql快速查询数据库中有多少条数据:
今天主要复习了MySQL的一些简单语句,可总结:
mysql 统计 表的数量:SELECT COUNT(1) FROM information_schema.TABLES WHERE TABLE_SCHEMA = '你的数据库';
有时候需要查询MySQL数据库中各个表大小,该如何操作呢?
MySQL中有一个名为 information_schema 的数据库,在该库中有一个 TABLES 表,这个表主要字段分别是:
TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小
use information_schema;
SELECT
TABLE_NAME,
(DATA_LENGTH/1024/1024) as DataM ,
(INDEX_LENGTH/1024/1024) as IndexM,
((DATA_LENGTH+INDEX_LENGTH)/1024/1024) as AllM,
TABLE_ROWS
FROM
TABLES
WHERE
TABLE_SCHEMA = '你的数据库';
MySQL的一些基础语句:
行是记录 列是字段
创建库
CREATE DATABASE [IF NOT EXISTS] 数据库名 [参数[ 参数] [ 参数]...];
参数:
CHARACTER SET 码表名
COLLATE 校对规则名, 详见文档10.10.1
显示库
SHOW DATABASES;
显示数据库创建语句
SHOW CREATE DATABASE 数据库名;
修改库
ALTER DATABASE 数据库名[ 参数[ 参数][ 参数]...];
注意: 不能改数据库的名字
删除库
DROP DATABASE [IF EXISTS] 数据库名;
操作表之前使用需要先确定使用哪个数据库
USE 数据库名
创建表
CREATE TABLE 表名(列名 类型[,列名 类型][,列名 类型]...);
查看所有表
SHOW TABLES;
查看表的创建语句
SHOW CREATE TABLE 表名;
显示表结构
DESC 表名;
修改表名
RENAME TABLE 原表名 TO 新表名;
修改字符集
ALTER TABLE 表名 CHARACTER SET 字符集名;
删除表
DROP TABLE 表名;
追加列
ALTER TABLE 表名 ADD 列名 类型[,列名 类型][,列名 类型]...;
修改列类型
ALTER TABLE 表名 MODIFY 列名 类型[,列名 类型][,列名 类型]...;
修改列
ALTER TABLE 表名 CHANGE COLUMN 原列名 新列名 类型;
删除列
ALTER TABLE 表名 DROP 列名;
插入语法:
INSERT INTO 表名[(列名[,列名]...)] VALUES(值[,值]...);
注意事项:
插入值类型必须与对应列的数据类型一致
数据不能超出长度
插入值得为之必须与列名顺序一致
字符和日期数据要放在单引号中
插入空值使用null
如果不指定插入哪一列, 就是插入所有列
中文数据
由于默认码表是utf8, 而cmd.exe的码表是gbk, 在插入中文数据的时候会报错, 所以我们需要修改客户端码表
先查看系统变量: SHOW VARIABLES LIKE 'character%';
修改客户端码表: SET character_set_client=gbk;
修改输出数据的码表: SET character_set_results=gbk;
修改语法
UPDATE 表名 SET 列名=值[,列名=值]...[WHERE 条件语句];
注意事项
WHERE子句选择满足条件的行进行更新, 如果不写, 则更新所有行
删除语法
DELETE FROM 表名 [where 条件语句]
注意事项
如果不加where子句, 将删除表中所有记录
delete只能用作删除行, 不能删除某一列的值, 需要用update
在delete和update的时候需要注意表与表之间的关联关系
删除表中所有数据可以使用: TRANCATE 表名, 这种方式会删除旧表重新创建, 在数据较多的时候使用
备份数据库
输入quit退出mysql, 在cmd.exe中输入:
mysqldump –u用户名 –p密码 数据库名 > 文件名
恢复数据库
进入mysql.exe之后, 使用数据库之后
source 文件名
操作数据(查询)
DISTINCT语法
SELECT [DISTINCT] 列名[, 列名]... FROM 表名
注意事项
*可以替代列名, 表示所有列, 但是通常我们为了提高代码的可读性, 不使用*
DISTINCT为过滤重复记录
如果DISTINCT后面跟多列, 是过滤掉多列合并之后的重复
列名表达式——语法
SELECT 列名|表达式[,列名|表达式]... FROM 表名
注意事项
表达式只是显示时起作用, 不会改变数据库中的值
AS——
SELECT 列名 AS 别名 FROM 表名
注意事项
起别名时AS可以省略
不会改变数据库中的值
WHERE——
语法
SELECT 列名 FROM 表名 [WHERE 条件语句]
WHERE子句中的运算符
比较运算符
>, <, >=, <=, =, <>
注意不等于和Java中不同, 是<>
BETWEEN ... AND ...
某一区间内的值, 从 ... 到 ...
IN(列表)
在列表之中, 例: in(1,2,3) 代表1或2或3
LIKE(表达式)
模糊查询, %代表多个字符, _代表单个字符
IS NULL
判断是否为NULL
逻辑运算符
AND &&
与, 两边都为TRUE结果为TRUE
OR ||
或, 一边为TRUE结果就为TRUE
NOT !
非, 将表达式结果取反
ORDER BY——
语法
SELECT 列名 FROM 表名 ORDER BY 列名 ASC|DESC;
注意事项
ORDER BY 指定排序的列名可以是表中的列名, 也可以是SELECT语句后面起的别名
ASC为升序, DESC为降序
ORDER BY应在查询语句的结尾
COUNT函数——
语法
SELECT COUNT(*)|COUNT(列名) from 表名 [WHERE 条件语句]
注意事项
COUNT(列名)的方式是统计指定列中有多少条记录, 不包括值为NULL的
COUNT(*)则是统计表中有多少条数据
COUNT(DISTINCT 列名) 统计不重复的记录数
如果加上WHERE子句, 则是统计满足条件的记录
mysql中安装好就有的那几个数据库是干嘛的: 这个说句实话 你要用mysql 实现自己的功能 只要不出问题 数据库操作没问题 管人家里边东西干什么·
一个服务器上可以装多少个mysql数据库: 是可以安装装很多个,但是你要注意端口冲突的问题,只能一个是3306端口
mysql怎么选择多个数据库?:
mysql操作多个数据库,需要在程序中切换,更改主机ip和端口以及连接的db名就可以了。
比如:
连接db1:
$connn=mysql_connect("localhost","root","root");
mysql_select_db("changtong",$connn);
mysql_query("set names gb2312");
连接db2:
$connn=mysql_connect("localhost1","root1","root1");
mysql_select_db("jiangshe",$connn);
这样就可以同时操作连个数据库了。
ACCESS、MSSQL、MYSQL 这三个数据库有什么不一样.:
Access:是一种桌面数据库,适合数据量较少的应用,存储数据库(.mdb)文件大小不超过2G字节,数据库中的对象个数不超过32,768。
MSSQL:是基于服务器端的中型数据库,可以适合大容量数据的应用,在功能上管理上也要比Access强。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。
MySQL:是一个开放源码的小型关系型数据库管理系统,目前被广泛地应用在中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
mysql数据库最大都用过多少条数据的? 有上亿条的吗?:
要看你一条有多大。
MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,
而不是由MySQL内部限制决定的。所以,如果你的操作系统支持单个文件超过1T,
应该没有什么问题。
大小跟你系统所支持的最大单个文件大小有关
怎么提取MYSQL数据库的所有数据到另一个MYSQL数据库:
我今天使用过的命令如下:
导出数据
./mysqldump --host=localhost --port= --user=root --password= -l -f zcv3 v2_category v2_magazine > /Data/sync_mysql/zcv3.txt
然后导入数据是用以下命令
./mysql --host=localhost --port= --user=root --password= zcv3 </Data/sync_mysql/zcv3.txt
mysqldump工具很多方面类似相反作用的工具mysqlimport。它们有一些同样的选项。但mysqldump能够做更多的事情。它可以把整个数据库装载到一个单独的文本文件中。这个文件包含有所有重建您的数据库所需要的SQL命令。这个命令取得所有的模式(Schema,后面有解释)并且将其转换成DDL语法(CREATE语句,即数据库定义语句),取得所有的数据,并且从这些数据中创建INSERT语句。这个工具将您的数据库中所有的设计倒转。因为所有的东西都被包含到了一个文本文件中。这个文本文件可以用一个简单的批处理和一个合适SQL语句导回到MySQL中。这个工具令人难以置信地简单而快速。决不会有半点让人头疼地地方。
因此,如果您像装载整个数据库Meet_A_Geek的内容到一个文件中,可以使用下面的命令:
bin/mysqldump –p Meet_A_Geek > MeetAGeek_Dump_File.txt
这个语句也允许您指定一个表进行dump(备份/导出/装载?)。如果您只是希望把数据库Meet_A_Geek中的表Orders中的整个内容导出到一个文件,可以使用下面的命令:
bin/mysqldump –p Meet_A_Geek Orders >MeetAGeek_Orders.txt
这个非常的灵活,您甚至可以使用WHERE从句来选择您需要的记录导出到文件中。要达到这样的目的,可以使用类似于下面的命令:
bin/mysqldump –p –where="Order_ID > 2000" Meet_A_Geek Orders > Special_Dump.txt
mysqldump工具有大量的选项,部分选项如下表:
选项/Option 作用/Action Performed
--add-drop-table
这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除
--add-locks
这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作
-c or - complete_insert
这个选项使得mysqldump命令给每一个产生INSERT语句加上列(field)的名字。当把数据导出导另外一个数据库时这个选项很有用。
--delayed-insert 在INSERT命令中加入DELAY选项
-F or -flush-logs 使用这个选项,在执行导出之前将会刷新MySQL服务器的log.
-f or -force 使用这个选项,即使有错误发生,仍然继续导出
--full 这个选项把附加信息也加到CREATE TABLE的语句中
-l or -lock-tables 使用这个选项,导出表的时候服务器将会给表加锁。
-t or -no-create- info
这个选项使的mysqldump命令不创建CREATE TABLE语句,这个选项在您只需要数据而不需要DDL(数据库定义语句)时很方便。
-d or -no-data 这个选项使的mysqldump命令不创建INSERT语句。
比较完整的使用方法:《MySQL 备份和恢复》
对mysql数据库有深入了解的来,mysql如何设计多个含多种不同商品,且商品属性不一样的表:
我帮一楼的个哥们补充一下吧,你做两个表
第一个表是商品表。包含商品id,商品名,品牌,商品型号,等等
第二个是商品信息表。字段包括商品id,属性英文名称,属性中文名称,属性值。
比如我有一个三星的电视
在第一个表里面写
id=1,商品名=三星电视,品牌=三星,商品型号=32XXXXX。。。。
第二个表里面写
id=1,属性英文名:LCDTYPE,属性中文名:液晶类型,属性值:LED
id=1,属性英文名:size,属性中文名:液晶尺寸,属性值:32
。。。。。。
-
dnf宠物怎么得
法律咨询类APP如何提高下载量,有事找律师APP为例,ASO优化中关键词越靠前权重就越大吗?: 是的,不仅仅是法律咨询类APP,所有APP,关键词设置的越靠前它的权重大,关键词的权重如下,标题>副标题>关键词,所以越重要的关键词要设置的越靠前。 ...
983条评论 4667人喜欢 3464次阅读 776人点赞 -
dnf宝珠怎么获得
浏览器类人工智能App如何提升下载量,QQ浏览器VR为例,ASO关键词热度如何查询?下载量又该如何: 浏览器类人工智能App要想提升下载量,可以和泽思一样,通过关键词优化的方式来进行。以QQ浏览器VR为例,ASO关键词热度即下载量预估,可以登录泽思官网进行查询。 ...
452条评论 6371人喜欢 6278次阅读 617人点赞 -
nano为什么在印度出产
地方房地产类APP怎样做ASO推广,温州房产网APP为例,关键词很少,ASO优化会很难操作吗?: 当然会很难操作了,举个例子来讲,关键词就像一个个广告,广告做的越少,流量越少,所以拿温州房产网APP为例,首先要做的就是增加关键词覆盖量(关键词2000+),关键词是基础,必须多加覆盖。 ...
793条评论 4151人喜欢 5043次阅读 669人点赞 -
2016是第几个五年计划
使用ASP.net技术创建一个网页,如何做?: 你截的这个图 明显是后台动态生成的 只要把后台写这个代码时候的地方字体加上链接就可以了 要不是后台生成的你直接在前台加链接就可以 ...
891条评论 2220人喜欢 4034次阅读 774人点赞 -
m能开什么车
ASP.NET 中 SqlParameter是什么?具体怎么用?: sqlparameter是用来给数据库中定义的变量传值用的。比如一个数据库中定义了@ID。在ASP.NET里用 new sqlparameter(“ID”,this.lblID.Text);给@ID赋值 ...
827条评论 4704人喜欢 5204次阅读 931人点赞 -
nt和无创哪个更准确
哑铃一般举多少次最好: 这个问题需要你自己回答,你的哑铃是多重的,你最多能一次性举多少下。按照专业运动员的训练方法,哑铃重量选择自己能一次性举30次为标准,而训练中每次分几组,每组15-20次。建议你每次做到感觉吃力就停,休息1分钟开始下一...
761条评论 1540人喜欢 3508次阅读 316人点赞 -
2016包钢裁员多少人
如何做好ASO关键词优化: 首先我们从网站发展的三个阶段来分析关键词:一,首先我们的网站在建设之初需要选取一个关键词来建设。二,当我们的网站关键词出现排名之后,为什么别人的站点比我们的排名要高。高质量站点的竞争对手还有一些什么关键词。三,当我们...
720条评论 2659人喜欢 2293次阅读 278人点赞
最新热搜榜单
随机推荐榜单
- 几片安眠药能让人很熟睡6个小时呀
- 芬杀客杀毒软件好用么
- i3 4170相当于i5的哪一个处理器,哪一个性价比好一点
- 有一部电影叫朱元璋,朱元璋还是一个小孩那个电影叫什么名字啊
- 正品耐克,鞋垫上的LOGO会磨掉吗?如果会的话大约多久才正常
- 交通银行信用卡金卡积分和白金卡积分能合并吗
- warframe的技能能量怎么获得
- 什么是产后脊椎病?
- 为什么在Imageready中打开gif动画图片,只能打开一帧呢?
- 谢玉婉的空间不知道你现在在那啊想知道你在那以前你在广州现在在那里啊
- 你爱我啦我爱你啦是谁唱?
- 怎么投诉神州租车,压了我133,2个月没反应,客服推脱说紧急出了一直无果
- 我是个比较习惯慢节奏打怪的DNF菜鸟,快升18级了,特来请教网上的各位前辈与高人,我转哪个职业比较好?
- 求DNF黑暗武士PK扯残影技能组合 满意加分
- 2016驾考宝典怎么设置错题库
- 用反证法证明“三角形的三个外角中至少有两个钝角”时,假设正确的是( ) A.假设三个外角都是锐
- 8848手机产地是哪里
- 怎么我的号QQ游戏斗地主只是第一次进去送了一次欢乐豆 输完了第二天进去他还是说欢乐豆不够 没送是怎么回
- 青椒卷肉的做法步骤图,青椒卷肉怎么做好吃
- 社会生活在本质上为什么是实践的