复习一下几条简单的mysql语句

复习一下几条简单的mysql语句,第1张

create database test_dbuse test_dbcreate 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 cascadealter table takes add constraint fk_takes_course foreign key (takes_course) references course (id) on delete set null on update cascade

备考全国计算机二级MySQL考试的小伙伴们,复习的都怎么样了呢?环球青藤小编发布了2020年计算机二级MySQL考试每日一练供大家参考复习,小伙伴们快来做一做,测试一下自己吧!了解更多全国计算机二级MySQL备考资料敬请关注环球青藤计算机二级频道。

2020年计算机二级MySQL考试每日一练(6月17日)

1.若有定义语句:int a[3][6],按在内存中的存放顺序,a数组的第10个元素是( )。

A.a[o][4]

B.a[1][3]

C.a[o][3]

D.a[1][4]

答案:B

2.有以下程序

#include

void fun(char**p)

{++pprintf("%s",*p)}

main()

{char*a[]={"Morning","Afternoon","Evening"," Night")

fun(a)

}

程序的运行结果是( )。

A.Afternoon

B.fternoon

C.Morning

D.orning

答案:A

3.若有定义语句:int a[2][3],*p[3],则以下语句中正确的是( )。

A.p=a

B.p[0]=a

C.p[o]=&a[1][2]

D.p[1]=&a

答案:B

4.有以下程序

#include

void fun(int*a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/

{int t,i,j

for(i=0i<n-1j++) p=""></n-1j++)>

for(j=i+lj<nj++) p=""></nj++)>

if(a[i]</a[j]){t=a[i]a[i]=a[j]a[j]=t}>

}

main()

{int c[10]={1,2,3,4,5,6,7,8,9,0),i

fun(c+4,6)

for(i=0i<10i++)printf("%d,",c[i])

printf("n")

}

程序运行的结果是( )。

A.1,2,3,4,5,6,7,8,9,0,

B.0,9,8,7,6,5,1,2,3,4,

C.0,9,8,7,6,5,4,3,2,1,

D.1,2,3,4,9,8,7,6,5,0,

答案:D

5.有以下程序

#include

int fun(char s[])

{int n=0

while(*s<='9'&&*s>='0'){n=10*n+*s-'o's++)

return(n)

}

main()

{char s[10]={'6','1','*','4','*','9','*',' 0','*')

printf("%d",fun(s))

}

程序运行的结果是( )。

A.9

B.61490

C.61

D.5

答案:C

更多2020年计算机二级MySQL考试每日一练试题,请继续关注环球青藤计算机二级频道。需要及时了解考试动态的小伙伴可“ 免费预约短信提醒”届时环球青藤会及时为大家推送2020年计算机二级考试相关信息提醒。环球青藤友情提示:对于想要参加计算机二级考试的小伙伴们,环球青藤特地为您准备了计算机二级考试资料,如有需要请点击文章下方“免费下载>>>计算机二级考试资料”下载学习。

今天主要复习了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子句, 则是统计满足条件的记录


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

原文地址: http://outofmemory.cn/zaji/7421121.html

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

发表评论

登录后才能评论

评论列表(0条)

保存