十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
今天主要复习了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数据库程序设计是全国计算机等级考试的一个二级考试项目。
考试大纲 (2013年版):
1.掌握数据库技术的基本概念和方法。
2.熟练掌握MySQL的安装与配置。
3.熟练掌握MySQL平台下使用SQL语言实现数据库的交互操作。
4.熟练掌握MySQL的数据库编程。
5.熟悉PHP应用开发语言,初步具备利用该语言进行简单应用系统开发的能力。
6.掌握MySQL数据库的管理与维护技术。
考试内容:
一、基本概念与方法
1.数据库的基本概念和特点
2.数据库系统的结构
3.数据模型
4.数据库设计方法
二、MySQL平台下的SQL交互操作
1.数据库、表、索引和视图的相关概念
2.数据库、表、索引和视图的创建及维护方法
3.数据完整性约束的概念、定义及使用方法
4.表和视图的查询及数据更新操作
三、MySQL的数据库编程
1.触发器、事件、存储过程和存储函数的概念及作用
2.触发器的创建及使用
3.事件的创建及使用
4.存储过程和存储函数的创建及使用
四、MySQL的管理与维护
1.MySQL的安装与配置
2.MySQL用户账号管理的作用及方法
3.MySQL账户权限管理的作用及方法
4.MySQL数据库备份与恢复的概念及方法
5.二进制日志文件的使用
五、MySQL的应用编程
1.PHP语言的基本使用方法
2.MySQL平台下编制PHP简单应用程序
考试方式:
上机考试,考试时长120分钟,满分100分。
1.题型及分值
单项选择题 40分(含公共基础知识部分10分)
操作题 60分(包括基本操作题、简单应用题及综合应用题)
2.考试环境
开发环境:WAMP 5.0及以上
数据库管理系统:MySQL 5.5
编程语言:PHP
方法只适用于有一点office基础的同学,如果你完全没碰过,可能就不行。
1.了解题型。一天速成的大家,默认你们都像我一样连题型都不知道。分选择题和操作题两个部分。其中选择题20道占20分分值,操作题3部分(Word30分,Excel30分,PPT20分)。共100分,目标是60分及格。
2.买最新题库。上淘宝搜非常多,我买的是虎贲的,会卖家会指导你下载学习软件(软件有电脑版和手机选择题库,都下载好)。
3.开始复习。我首先选择复习选择题,因为相比操作题,它复习更快,遇到原题的几率也更高。虎贲手机版选择题库中共有1040道原题,大概浏览之后我发现除了第一章[数据结构与算法]是完全不懂的,其他都是能够理解的画风。因此直接放弃看第一章,留到最后还有时间的话去背答案。
其他736题,一上午可以背完,再做一两套选择模拟就差不多了。此时做选择模拟正确率在15-18个。最终考试我遇到未看过的题只有4题,因此估计我的选择在16分以上。
4.下午开始操作题。我先把Word Excel PPT的答案视频各看了2套(我的建议是先自己看一遍题目,再看答案视频,效果更好)。看这两套的目的是给操作题考试定个基调,好选择最合理的复习顺序。
以下是我看完2套的即时感受:PPT最简单基本没有什么特别的操作。EXCEL题量不大,但前后题目关联很大,前面做错会直接导致后面即使步骤对了答案也是错误的,同时我发现有些函数我没见过。WORD考很细,题量大,有很多基础操作是很容易得分的。
因此,我根据这些开始有针对性地复习。大家不必跟我一模一样,最好是完成上述步骤后根据你自己的感受去定复习方案。
我的方案十分简单粗暴——为节省时间PPT不复习;优先复习EXCEL,搜到所有会考的函数整合(很多其他问题下的回答以及微信公众号里都有),先写下来,并百度每一个的含义和用法。
接下来的时间就看EXCEL和WORD答案视频,还是按之前的方法看,有不会的都马上搞懂。能看多少就是多少,最后留出2个小时做模拟题自测摸底(PPT也做哦,做一整套),批改并弄懂错误原因,最重要是熟悉操作。
做完模拟后我制订了我的考试策略——完成选择题后按PPT EXCEL WORD顺序做(PPT简单基本可以满分但是如果按原顺序WORD做完后会很匆忙,面临会做却时间不够的窘境,WORD放最后如果没时间就let it go 反正题量大 一题的分值也低)。
5.最后还有时间,记得刚才放弃了的第一章选择题吗,背!用快速记忆把它们记下来,背得快忘得也快,但你明天就考了不碍事。
6.完成这些,已经有很充实的一天啦,好好睡一觉,给你的脑子足够的休息和整理时间。
备考全国计算机二级MySQL考试的小伙伴们,复习的都怎么样了呢?环球青藤小编发布了2020年计算机二级MySQL考试每日一练供大家参考复习,小伙伴们快来做一做,测试一下自己吧!了解更多全国计算机二级MySQL备考资料敬请关注环球青藤计算机二级频道。
2020年计算机二级MySQL考试每日一练(6月28日)
1.当c的值不为0时,在下列选项中不能正确将c的值赋给变量a、b的是( )。
A.c=b=a;
B.(a=c)||(b=c);
C.(a=c)(b=c);
D.a=c=b;
答案:C
2.以下程序的输出结果是( )。
main()
{ int a=3:
printf("%dn",(a+a-=a*a));
}
A.-6
B.12
C.0
D.-12
答案:D
3.以下能正确定义一维数组的选项是( )。
A.int a[5]=(0,1,2,3,4,5);
B.char a[]={0,1,2,3,4,5);
C.char a={'A ','B','C'};
D.int a[5]="0123";
答案:B
4.有以下程序段:
int x=3;
do
{printf("%d",x-=2);)
while(!(--x));
其输出结果是( )。
A.1
B.3 0
C.1 -2
D.死循环
答案:C
5.下列程序的输出结果是( )。
void fun(int*X,int y)
{ printf("%d%d",*x,*y);*x=3;*y=1;}
main()
{ int x=1,y=2;
fun(y,x);
printf("%d%d",x,y);
}
A.2 1 4 3
B.1 2 1 2
C.1 2 3 4
D.2 1 1 2
答案:C
更多2020年计算机二级MySQL考试每日一练试题,请继续关注环球青藤计算机二级频道。需要及时了解考试动态的小伙伴可“ 免费预约短信提醒”届时环球青藤会及时为大家推送2020年计算机二级考试相关信息提醒。环球青藤友情提示:对于想要参加计算机二级考试的小伙伴们,环球青藤特地为您准备了计算机二级考试资料,如有需要请点击文章下方“免费下载计算机二级考试资料”下载学习。
create database test_db;use test_db;create table student(id int auto_increment not null,name varchar(20),class varchar(20),primary key(id)); create table course(id int auto_increment not null,name varchar(20),primary key(id)); create table takes(id int auto_increment not null,takes_student int,takes_course int,score int(2),primary key(id));alter table takes add constraint fk_takes_student foreign key (takes_student) references student (id) on delete set null on update cascade;alter table takes add constraint fk_takes_course foreign key (takes_course) references course (id) on delete set null on update cascade;