日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

扩展:数据库笔试题集合-2

發(fā)布時(shí)間:2023/12/20 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 扩展:数据库笔试题集合-2 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第1章 數(shù)據(jù)庫章節(jié)

1.1 選擇

1.1.1 Having 子句的作用是?。

A.查詢結(jié)果的分組條件

B.組的篩選條件

C.限定返回的行的判斷條件

D.對(duì)結(jié)果集進(jìn)行排序

1.1.2 最常用的一種基本數(shù)據(jù)模型是關(guān)系數(shù)據(jù)模型,它的表示采用(D)

A.樹 B.網(wǎng)絡(luò)

C.圖 D.二維表

1.1.3 數(shù)據(jù)庫系統(tǒng)的核心是(B)

A.數(shù)據(jù)模型 B.數(shù)據(jù)庫管理系統(tǒng)

C.數(shù)據(jù)庫 D.數(shù)據(jù)庫管理員

1.1.4 關(guān)系表中每一橫行稱為(A)

A.元組 B.字段

C.屬性 D.碼

1.1.5 數(shù)據(jù)庫管理系統(tǒng)維護(hù)中,最重要的是(數(shù)據(jù)維護(hù))

程序維護(hù) 數(shù)據(jù)維護(hù)

編碼維護(hù) 硬件維護(hù)

1.1.6 以下那些不是 NoSQL?

mssql memcached mongodb

postgresql cassandra

couchdb redis

1.1.7 PHP 和 MYSQL 的聯(lián)合使用解決了(C)

A 在 proxy 上處理數(shù)據(jù)庫訪問問題

B 在 www 服務(wù)器上處理黑客的非法訪問問題

C 在 www 服務(wù)器上處理數(shù)據(jù)庫的訪問問題

D 在 sendmail 郵件系統(tǒng)是上處理數(shù)據(jù)庫的訪問問題

1.1.8 以下哪個(gè)端口為遠(yuǎn)程登陸默認(rèn)端口(3306)

1433 3389 33062

1.2 填空

1.2.1 如何通過 shell 登錄 mysql?(mysql -u -p -h -P)

1.2.2 數(shù)據(jù)庫觸發(fā)器能監(jiān)控的觸發(fā)事件有 監(jiān)視地點(diǎn)(table) 監(jiān)視事件(insert/update/delete) 觸發(fā)時(shí)間(after/before) 觸發(fā)事件(insert/update/delete)

1.2.3 數(shù)據(jù)庫系統(tǒng)的組成部分有:硬件、軟件、數(shù)據(jù)庫、用戶、(數(shù)據(jù)庫管理員)

1.2.4 實(shí)現(xiàn)多臺(tái)交換機(jī)或集線器連接在一起只能通過級(jí)聯(lián)的方式(級(jí)聯(lián)復(fù)制)

1.2.5 遠(yuǎn)程連接 mysql 數(shù)據(jù)庫的命令是什么__mysql -u -p -h -P__

1.2.6 當(dāng)刪除一個(gè)數(shù)據(jù)庫后,僅能用__binlog , 物理備份__數(shù)據(jù)重建以前的數(shù)據(jù)庫中的數(shù)據(jù)。

1.2.7 SQL 中定義別名的三種方法是___列 AS 別名___列 別名___別名= 列___

1.2.8 mysql 服務(wù)器默認(rèn)的監(jiān)聽端口是:3306_ ,mysql 的配置文件是:_/etc/my.cnf__

1.3 簡答

1.3.1 簡述 mysql 單機(jī)安裝過程

1.在官網(wǎng)下載二進(jìn)制包

  • 解壓,并修改/etc/my.cnf 文件
  • 3.初始化數(shù)據(jù)

    4.啟動(dòng)

    1.3.2 mysql 登錄命令

    mysql -u -p -h -P

    1.3.3 說明數(shù)據(jù)庫內(nèi)存結(jié)構(gòu)中 SGA 和 PGA 的組成,以及這兩個(gè)內(nèi)存區(qū)存放信息的區(qū)別?

    SGA 區(qū)由數(shù)據(jù)緩沖區(qū)、共享池、重做日志緩沖區(qū)、大型池、JAVA 池構(gòu)成;PGA 區(qū)由排序區(qū)、私有 SQL 區(qū)以及堆棧構(gòu)成。

    SGA 區(qū)是由 Oracle 分配的共享內(nèi)存結(jié)構(gòu),包含一個(gè)數(shù)據(jù)庫實(shí)例共享的數(shù)據(jù)和控制信息。

    當(dāng)多個(gè)用戶 同時(shí)連接同一個(gè)實(shí)例時(shí),SGA 區(qū)數(shù)據(jù)供多個(gè)用戶共享,所以 SGA 區(qū)又稱為共享全局區(qū)。用戶對(duì)數(shù) 據(jù)庫的各種操作主要在 SGA 區(qū)中進(jìn)行。

    該內(nèi)存區(qū)隨數(shù)據(jù)庫實(shí)例的創(chuàng)建而分配,隨實(shí)例的終止而釋 放。PGA 區(qū)是在用戶進(jìn)程連接數(shù)據(jù)庫,創(chuàng)建一個(gè)會(huì)話時(shí),由 Oracle 為用戶分配的內(nèi)存區(qū)域,

    保存當(dāng) 前用戶私有的數(shù)據(jù)和控制信息,因此該區(qū)又稱為私有全局區(qū)。每個(gè)服務(wù)器進(jìn)程只能訪問自己的 PGA 區(qū),所有服務(wù)器進(jìn)程 PGA 區(qū)總和即為實(shí)例的 PGA 區(qū)的大小。

    1.3.4 說明數(shù)據(jù)庫表空間的種類,以及不同類型表空間的作用

    共享表空間,獨(dú)立表空間。

    共享表空間是一個(gè)庫的數(shù)據(jù)都存放一個(gè)文件內(nèi),獨(dú)立表空間是一個(gè)表一個(gè) ibd 與 frm 文件

    1.3.5 mysql 表中的中文字體亂碼,原因可能是什么?如何修改 ?

    字符集編碼問題

    ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    1.3.6 mysql 忘記密碼如何操作?

    –skip-grant-tables ----> 跳過授權(quán)表(mysql.user)

    –skip-networking ----> 跳過網(wǎng)絡(luò)用戶連接

    1.3.7 請(qǐng)寫出目前市場上最常見的 2-5 種關(guān)系型數(shù)據(jù)庫廠家,并注明他們產(chǎn)品的最新版和你熟悉的或 者解除過的版本:

    廠家:最新版本:熟悉的版本:接觸過的版本

    mysql 5.6 5.7

    Oracle、MsSQL(SQL Server)、PG

    1.3.8 如何修改 mysql 的 root 密碼

    set password for 用戶名@localhost = password(‘新密碼’);

    1.3.9 請(qǐng)舉出幾個(gè)你熟悉的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)和非關(guān)系型數(shù)據(jù)庫管理系統(tǒng),非關(guān)系型數(shù)據(jù)庫相比 之下有什么不同之處(好處和不足)?

    關(guān)系型:mysql,Oracle;

    非關(guān)系型:redis,mongodb;

    非關(guān)系快,操作簡單,有幾率丟數(shù)據(jù)

    1.3.10 存儲(chǔ)過程與函數(shù)的區(qū)別?

    存儲(chǔ)過程是用戶定義的一系列 sql 語句的集合,涉及特定表或其它對(duì)象的任務(wù),用戶可以調(diào)用存儲(chǔ) 過程,

    而函數(shù)通常是數(shù)據(jù)庫已定義的方法,它接收參數(shù)并返回某種類型的值并且不涉及特定用戶 表。

    1.3.11 什么是視圖,游標(biāo)是什么?

    視圖是一種虛擬的表,具有和物理表相同的功能。可以對(duì)視圖進(jìn)行增,改,查,操作,視圖通常是 有一個(gè)表或者多個(gè)表的行或列的子集。對(duì)視圖的修改不影響基本表。它使得我們獲取數(shù)據(jù)更容易, 相比多表查詢。

    游標(biāo):是對(duì)查詢出來的結(jié)果集作為一個(gè)單元來有效的處理。游標(biāo)可以定在該單元中的特定行,從結(jié) 果集的當(dāng)前行檢索一行或多行。可以對(duì)結(jié)果集當(dāng)前行做修改。一般不使用游標(biāo),但是需要逐條處理 數(shù)據(jù)的時(shí)候,游標(biāo)顯得十分重要。

    1.3.12 你對(duì)數(shù)據(jù)庫了解嗎?你們公司的數(shù)據(jù)庫是什么樣的?

    高可用 MySQL 及主從架構(gòu)與讀寫分離,使用的 MySQL

    1.3.13 你們公司數(shù)據(jù)庫最大連接數(shù)是多少?

    目前了解并發(fā)不到 2000

    1.3.14 MySQL 數(shù)據(jù)庫 storage engine 中的 myisam、innodb 有什么差別?

    myisam 是表級(jí)鎖,不支持事務(wù),支持溫備

    innodb 是行級(jí)鎖,支持事務(wù),自動(dòng)故障恢復(fù),外鍵,熱備

    1.3.15 請(qǐng)列舉幾個(gè)常見的 nosql db 你最熟悉那個(gè)?

    redis memcached mongodb

    1.3.16 簡述 where 和 having 的區(qū)別?

    Where 子句是用來指定 “行” 的條件的,而 Having 子句是指定“組”的條件的

    所以 Where 子句 = 指定行所對(duì)應(yīng)的條件

    所以 Having 子句 = 指定組所對(duì)應(yīng)的條件

    當(dāng)在 Where 子句和 Having 子句中都可以使用的條件,從語句的執(zhí)行效率來看,最好寫在 Where 子句中。

    在使用 Count 函數(shù)等對(duì)表中的數(shù)據(jù)進(jìn)行聚合操作時(shí),DBMS 內(nèi)部會(huì)進(jìn)行排序處理,而排序操作會(huì)增加機(jī)器的負(fù)擔(dān),減少排序的行數(shù),可以增加處理速度。

    使用 Where 子句指定條件時(shí),由于排序之前就對(duì)數(shù)據(jù)進(jìn)行了過濾,所以能夠減少排序的數(shù)據(jù)量。但是 Having 子句是在排序之后才對(duì)數(shù)據(jù)進(jìn)行分組的,因此與前者相比,需要排序的數(shù)據(jù)量就要多得多。

    第三,使用 Where 子句更具速度優(yōu)勢(shì)的另一個(gè)理由是,可以對(duì) Where 子句指定條件所對(duì)應(yīng)的列創(chuàng)建 索引,這樣可以大幅提高處理速度。

    第四,Where 子句中不能使用聚合函數(shù),而 Having 子句中可以

    第2章 SQL 語句
    2.1 選擇
    2.1.1 DELETE FROM S WHERE 年齡>60 語句的功能是( A )
    A.從 S 表中徹底刪除年齡大于 60 歲的記錄
    B.S 表中年齡大于 60 歲的記錄被加上刪除標(biāo)記
    C.刪除 S 表
    D.刪除 S 表的年齡列
    2.1.2 使用什么命令可以清除表中所有的內(nèi)容? ( CD )
    A.INSERT B.UPDATE
    C.DELETE D.TRUNCATE
    2.1.3 以下哪個(gè)表不用于 mysql 的權(quán)限管理( D )
    A.HOST B.DB
    C.COLUMNS_PRIV D.MANAGER
    2.1.4 在 SOL 語法中,用于更新的命令是:( B )
    A.INSERT   B.UPDATE
    C.DELETE   D.CREATE
    2.1.5 下面命令中不是數(shù)據(jù)庫用來 DML 操作是( D )
    A.SELECT B.UPDATE
    C.INSERT D.DROUP
    2.1.6 SQL 語言中,刪除一個(gè)表的命令是(B )
    A.DELETE B. DROP
    C.CLEAR D.RI MORE
    2.1.7 MySQL 語句中刪除一個(gè)表(假如表名稱是 t1)的命令是 C
    A.rm table t1    B.delete table t1
    C.drop table t1    D.truncate t1
    2.1.8 下面哪個(gè)語句將 user 表的名稱變更為 userinfo?( A )
    A.alter table user rename as userinfo
    B.rename to userinfo from user
    C.rename user to userinfo
    D.rename user as userinfo
    2.1.9 sql 語句中修改表結(jié)構(gòu)的命令是 ( C )
    A.modify table    B.modify structure
    C.alter table    D.alter structure
    2.1.10 帶有( B )子句的 select 語句可以在表的一行或多行上防止排他鎖
    A.FOR INSERT   B.FOR UPDATE
    C.FOR DELETE   D.FOR REFRESH
    2.1.11 在 SQL 中,建立表用的命令是( B )
    A.CREATE SCHEMA   B.CREATE TABLE
    C.CREATE VIEW   D.CREATE INDEX
    2.1.12 SQL 語言是( C )語言
    A.層次數(shù)據(jù)庫   B.網(wǎng)絡(luò)數(shù)據(jù)庫
    C.關(guān)系數(shù)據(jù)庫   D.非數(shù)據(jù)庫
    2.1.13 SQL 語言中,條件年齡 BETWEEN 15 AND 35 表示年齡在 15 至 35 之間,且(A)
    A.包括 15 歲和 35 歲
    B.不包括 15 歲和 35 歲
    C.包括 15 歲但不包括 35 歲
    D.包括 35 歲但不包括 15 歲
    2.1.14 在數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫中的數(shù)據(jù)查詢、插入、修改和刪除,這類功能稱為( C )
    A.數(shù)據(jù)定義功能 B.數(shù)據(jù)管理功能
    C.數(shù)據(jù)操縱功能 D.數(shù)據(jù)控制功能
    2.1.15 下列執(zhí)行數(shù)據(jù)的刪除語法在運(yùn)行時(shí)不會(huì)產(chǎn)生錯(cuò)誤信息的選項(xiàng)是( B )
    A.Delete * from pat_visit Where inp_no = ‘6’
    B.Delete From pat_visit Where inp_no =‘6’
    C.Delete pat_visit Where inp_no = ‘6’
    D.Delete pat_visit Set inp_no = '6’7

    2.2 填空
    2.2.1 查詢病人表中的所有內(nèi)容,并以住院號(hào)倒序排序 SQL 代碼為:Select * from pat_visit ___order by haoma ;desc

    2.2.2 查詢一根病人的信息。但忘記了該病人的名字,只記得該病人姓“張”,而且名字中有一個(gè) “美”字,SQL 代碼為:Select * from Pat_visit where name__like “張”____

    2.2.3 在 SQL 中,用子句 DISTINCT 消除重復(fù)出現(xiàn)的元組。

    2.2.4 標(biāo)準(zhǔn)的 SQL 語言語句類型可以分為 DML 、 DQL 、 DDL 、 DCL

    2.2.5 SQL 語句中的查詢語句是 select(DQL)

    2.2.6 字符轉(zhuǎn)換日期函數(shù)__select date_format(now(), ‘%Y-%m-%d’); ___

    2.2.7 DML 包括_update_ _ delete _ _instert

    2.2.8 在 SQL 中,建立數(shù)據(jù)庫的命令是______,建立視圖的命令是_______,建立索引的是________
    create database 名字
    create view v as (select * from table1) union all (select * from table2);
    alter table student add index idx_name(name);

    2.2.9 在 SQL 中,用___insert___命令向表中輸入數(shù)據(jù),用__select___命令檢查和查詢表中的內(nèi)容
    select
    select * from table_name;

    2.2.10 在 SQL 中,用_update__命令可以修改表中的數(shù)據(jù),用_alter____命令可以修改表的結(jié)構(gòu)

    2.2.11 在 SQL 中,Alter 命令可以有兩個(gè)選擇項(xiàng),______子命令用于修改表的性質(zhì),____子命令用 于增加列
    alter table change/modify
    alter table add

    2.2.12 在 SQL 中,用___delete__命令可以從表中刪除行,用_drop____命令可以從數(shù)據(jù)庫中刪除表

    2.2.13 在 SQL 中,控制用保留字__NULL____,非空值用保留字___NOTNULL__

    2.2.14 SELECT 命令中,表示條件表達(dá)式用____字句,分組用_____字句,排序用____字句
    where
    group by
    order by

    2.2.15 在 ORDER BY 字句的選項(xiàng)中,DESC 代表___大到小__序輸出,若省略時(shí),代表__從小到大 __序輸出

    2.2.16 合并多個(gè)查詢結(jié)果集,應(yīng)使用 _union__關(guān)鍵字

    2.3 簡答
    2.3.1 在 mysql 客戶端查詢工具中,如何獲取當(dāng)前的所有連接信息。
    show full processlist

    2.3.2 如何利用 crontab 定期執(zhí)行 mysql 語句。
    mysql -uroot -p -e ‘show databases;’

    2.3.3 查看缺省引擎
    select @@default_storage_engine;

    2.3.4 列舉 SQL 常用命令:
    use database
    show processlist;
    show tables;
    show variables like ‘xx’;
    select * from database.table_name where;
    explian select * from table;

    2.3.5 Mysql 查看 order 表的第 3 條到第 7 條的數(shù)據(jù)。
    select * from order limit 2,5;

    2.3.6 Mysql 授予用戶 admin 通過 IP 為 192.168.0.10/24 對(duì)數(shù)據(jù)庫的全部授權(quán)。
    grant all on . to admin@‘192.168.0.%’ identified by ‘123’;

    2.3.7 對(duì) order 這個(gè)表的 name 字段數(shù)據(jù)進(jìn)行 base64 編碼
    select to_base64(name) from order

    2.3.8 為什么說 group by 和 order by 操作的是代價(jià)高昂的?
    在沒有合理索引情況下,需要大量 CPU 時(shí)間來做排序和分組。

    2.3.9 寫分組瀏覽,分組求和,分組求最大值的 sql 語句,每個(gè)只能用 1 句話
    瀏覽:select group_concat(字段名 1) from db group by 字段 2;
    求和:select sum(字段名 1) from db group by 字段名 2;
    最大值:select max(字段名 1) from db group by 字段名 2;

    2.3.10 如何列出所有數(shù)據(jù)庫?(show databases;)

    2.3.11 如何查看表內(nèi)所有數(shù)據(jù)?(select * from table;)

    2.3.12 如何知道表內(nèi)行數(shù)?(select count(*) from table;)

    2.3.13 用 SQL 實(shí)現(xiàn)以下統(tǒng)計(jì)結(jié)果
    CSBH CSBH_COUNT
    20 2
    10 8
    CSBH SUM_GJQJ
    20 211.039900
    10 871.317850
    Select csbh,count(csbh) as CSBH_COUNT from table group by chbh;
    Select csbh,sum(csbh) as CSBH_SUM from table group by chbh;

    2.3.14 用 SQL 命令實(shí)現(xiàn)給主鍵添加索引
    alter table a add primary key pri(id);

    2.3.15 刪除如下表中年齡大于 30,且住址為 nj 的員工
    表A user_table
    Name age city
    Tom 20 bj
    Jimmy 50 nj
    Zhou 33 sh
    Jing 30 nj
    Nanan 28 sh
    create table user_table(
    id int(11) auto_increment primary key
    name varchar(200),
    age int(11),
    city varchar(200))
    engine=innodb;

    insert into user_table(name,age,city) values(‘Tom’,20,‘bj’),
    (‘Jimmy’,50,‘nj’),
    (‘Zhou’,33,‘sh’),
    (‘Jing’,30,‘nj’),
    (‘Nanan’,28,‘sh’);

    delete from user_table where age>30 and city=‘nj’;

    2.3.16 根據(jù)上題的表,計(jì)算出每個(gè)城市的人數(shù)和平均年齡
    select city,count(name),AVG(age) from user_table group by city;

    2.3.17 查詢下表平均成績大于 60 分的同學(xué)的學(xué)號(hào) s_d)和平均成績(score)
    表 Student 學(xué)生表
    S_id Sname Ssex
    1 Xiaoli 男
    2 xiaowang 女
    3 zhanglong 男
    4 zhaohu 女 表 Course 課 程 表
    C_id Cname T_id
    1 語文 1
    2 歷史 3
    3 數(shù)學(xué) 2
    4 政治 4 表 SC 成績表
    sid C_id score
    1 2 99
    3 4 88
    1 3 55
    2 1 77
    表 Teacher 教師表
    T_id Tname
    1 zhangsan
    2 lisi
    3 wangwu
    4 zhaoliu
    create table Student(
    S_id int primary key auto_increment,
    Sname char(100),
    Ssex char(100))
    engine=innodb;

    insert into Student(S_id,Sname,Ssex) values(1,‘Xiaoli’,‘男’),
    (2,‘xiaowang’,‘女’),
    (3,‘zhanglong’,‘男’),
    (4,‘zhaohu’,‘女’);

    create table Course(
    C_id int primary key auto_increment,
    Cname char(100),
    T_id int)
    engine=innodb;

    insert into Course(C_id,Cname,T_id) values
    (1,‘語文’,1),
    (2,‘歷史’,3),
    (3,‘?dāng)?shù)學(xué)’,2),
    (4,‘政治’,4);

    create table SC(
    sid int,
    C_id int,
    score int)
    engine=innodb;

    insert into SC(sid,C_id,score) values
    (1,2,99),
    (3,4,88),
    (1,3,55),
    (2,1,77);

    create table Teacher(
    T_id int auto_increment primary key,
    Tname char(100))
    engine=innodb;

    insert into Teacher(T_id, Tname) values
    (1,‘zhangsan’),
    (2,‘lisi’),
    (3,‘wangwu’),
    (4,‘zhaoliu’);

    mysql> select sid,c from (select sid,avg(score) c from SC group by sid) a where c>60;
    ±-----±--------+
    | sid | c |
    ±-----±--------+
    | 1 | 77.0000 |
    | 2 | 77.0000 |
    | 3 | 88.0000 |
    ±-----±--------+

    查詢上所有同學(xué)的學(xué)號(hào)姓名、選課數(shù)、總成績
    mysql> select s.sname,s.S_id,count(s.S_id),sum(c.score) from Student s join SC c on s.S_id=c.sid group by
    s.S_id;
    ±----------±-----±--------------±-------------+
    | sname | S_id | count(s.S_id) | sum(c.score) |
    ±----------±-----±--------------±-------------+
    | Xiaoli | 1 | 2 | 154 |
    | xiaowang | 2 | 1 | 77 |
    | zhanglong | 3 | 1 | 88 |
    ±----------±-----±--------------±-------------+
    2.3.18 有兩個(gè)表 A 和 B,表結(jié)構(gòu)和字段分別為:
    A:B
    ID Name ID hobby
    1 tim 1 football
    2 Jimmy 2 tennis
    3 John 3 soccer
    請(qǐng)寫出 Select A.Name, B.Hobbt from A,B where A.id = B.id 的結(jié)果
    Select A.Name,B.Hobbt from A join B on A.ID = B.ID;
    Tim football
    Jimmy tennis
    John soccer

    2.3.19 寫出 MySQL5.6 新建用戶 dev,授權(quán) op 庫 test 表所有權(quán)限,任何地址的訪問權(quán)限 SQL
    grant all on op.* to dev@’%’ identfied by ‘123’;

    2.3.20 寫出一條 sql 語句:取出表 A 中滿足時(shí)間 2006 年 1 月 1 日至 2006 年 1 月 31 日的記錄(時(shí)間 字段為 time)
    select * from A where time between ‘2006-01-01’ and ‘2006-01-31’;

    2.3.21 寫出一條 SQL 語句:清除 A 表中的數(shù)據(jù),但不刪除表
    truncate table A;

    2.3.22 查找在機(jī)關(guān)單位任職的人員姓名、性別、出生日期、單位名稱、并且查詢結(jié)果按照單位排 序;
    select 姓名,性別,出生日期,單位名稱 from table order by 單位名稱;

    2.3.23 查找性別為女的少數(shù)民族的非中共人員姓名、民族、出生日期;
    select 姓名,民族,出生日期 from table where 性別=女 and 面貌!=中共人員

    2.3.24 在事業(yè)單位查找具有研究生學(xué)歷博士學(xué)位的在任人員,要求顯示姓名、性別、出生日期、政 治面貌、單位名稱、職務(wù)名稱、批準(zhǔn)任職日期,同時(shí)結(jié)果按照批準(zhǔn)任職日期升序;
    select 姓名,性別,出生日期,政治面貌,單位名稱,職務(wù)名稱,批準(zhǔn)任職日期 from db1 order by 批準(zhǔn)任職日期;

    2.3.25 查詢?cè)诓煌瑔挝恍再|(zhì)類別的單位任職的人數(shù);
    select count(*) from db group by 單位;

    2.3.26 請(qǐng)寫出下列語句的執(zhí)行結(jié)果:select replace (ltrim(rtrim(‘a(chǎn)bc3453436’)),‘34’,‘a(chǎn)bc’)
    abcabc5abc3

    2.3.27 寫一個(gè)查詢語句,從數(shù)據(jù)庫表中取出年齡 age 最大的十個(gè)人
    select * from table order by age desc limit 10;

    2.3.28 編寫 SQL 語句。統(tǒng)計(jì)計(jì)算機(jī)系 58 班每個(gè)月過生日的男生人數(shù),井按月進(jìn)行排序
    表 dept (系):
    dept_id(系編號(hào)),dept_name(系名稱)
    表 class(班級(jí)):
    class_id(班編號(hào)),dept_i(系編號(hào)),class_name(班名)
    表 setdent(學(xué)生):
    setdent_id(學(xué)生編號(hào)),class_id(班編號(hào)), sex(性別),birthday(生日)
    select dept.dept_name,class.class_name,count(student_id) date_format(student.birthday,%m)
    from dept
    join calss
    on dept.dept_id=class.dept_i
    join student
    on class.calss_id=student.class_id
    where student.sex=’m’
    group by date_format(student.birthday,%m)
    order by date_format(student.birthday,%m)
    desc ;

    2.3.29 現(xiàn)有 T 表:(字段:ID,NAME,ADDRESS,PHONE,LOGDATE)
    查詢 T 表中地址中包含“北京”的 SQL 語句
    select * from T where ADDRESS like ‘%北京%’;
    插入一條數(shù)據(jù)到 T 表中
    insert into T(ID,NAME,ADDRESS,PHONE,LOGDATE) value(1,2,3,4,5);
    請(qǐng)寫出將 T 表中第 3~5 行數(shù)據(jù)列出來的 SQL 語句
    select * from T limit 3,5;

    2.3.30 Mysql 創(chuàng)建數(shù)據(jù)庫的命令,創(chuàng)建表的命令,插入語句的命令?
    create database
    create table
    insert into

    2.3.31 數(shù)據(jù)庫中的兩個(gè)數(shù)據(jù)庫表,定義如下:
    表名 1:cardApply
    字段(字段名/類型/長度):
    applyNo varchar 8; //申請(qǐng)單號(hào)(關(guān)鍵字)
    applyDate date 8; //申請(qǐng)日期
    state varchar 2; //申請(qǐng)狀態(tài)
    表 2:cardApplyDetail
    字段(字段名/類型/長度):
    applyNo varchar 8; //申請(qǐng)單號(hào)(關(guān)鍵字)
    name varchar 30; //申請(qǐng)人姓名
    idCard varchar 5; //ID 卡號(hào)
    applyNo varchar 8; //申請(qǐng)單號(hào)(關(guān)鍵字)
    其中,兩個(gè)表的關(guān)聯(lián)字段為申請(qǐng)單號(hào),依據(jù)上述信息完成 1-5 題目:
    查詢 ID 卡號(hào)為 11111 的申請(qǐng)日期
    Select applyNo , applyDate from cardApply where applyNo=’1111’
    查詢同一個(gè) ID 卡號(hào)有兩條以上記錄的 ID 卡號(hào)及記錄個(gè)數(shù)
    Select applyNo,count(applyNo) from cardApply group by applyNo having count(applyNo)>2;
    將 ID 卡號(hào)為 11111 的記錄在兩個(gè)表中的申請(qǐng)狀態(tài)均改為 02
    Update cardApply set state=‘02’ where applyNo=‘1111’;
    刪除 cardApplyDetall 表中所有姓李的記錄
    Delete from cardApplyDetall where name like ‘李%’;
    假如某一天有 10 個(gè)人申請(qǐng),另外一天有 20 個(gè)人申請(qǐng),還有一天有 30 個(gè)人申請(qǐng),查詢出申請(qǐng)卡最多的那一天日期
    Select applyDate,count(applyNo) from cardApply group by applyDate order by count(applyNo) desc limit1;

    2.3.32 第一題
    Student S# Sname Sage Ssex 學(xué)生表
    Course C# t# Cname () 課程表
    SC S# C# score 成績表
    Teacher T# tname 教師表
    寫出學(xué)生表建表語句
    Create table student(S# int not null primary key auto_increment comment ‘學(xué)號(hào)’,
    Sname varchar(64) not null comment ‘姓名’,
    Sage tinyint unsigned not null default 0 comment ‘年齡’,
    Ssex enum(‘m’,’f’) not null default ‘m’ comment ‘性別’
    )engine=innodb charset=utf8 comment ‘學(xué)生表’;

    查詢姓張的學(xué)生名單
    Select * from student where sname like ‘張%’;

    查詢所有同學(xué)的學(xué)號(hào)、姓名、選課數(shù)、總成績
    Select s.s# ,s.sname,count(C#),sum(sc.score) from student as s
    Join sc
    On s.s#=sc.s#
    Group by s.s#,s.sname

    查詢選修“葉平”老師所授課程的學(xué)生中,成績最高的學(xué)生姓名及其成績
    Select s.sname,sum(sc.socre) from student as s
    Join sc
    On s.s#=sc.s#
    Join course as co
    On sc.c#=co.c#
    Join teacher as te
    On co.t#=te.t#
    Where te.tname=’葉平’

    2.3.33 第二題
    第一題中的教師表中哪個(gè)字段可以建立唯一索引?寫出建立唯一索引的語句
    Alter table teacher add unique key idx(t#);
    2.3.34 第三題
    如何檢查第一題中學(xué)生表在數(shù)據(jù)庫中所占的空間大小
    Select table_name,(index_length+avg_row_length*table_rows)/1024/1024 from information_schema.tables
    Where table_name=’student’;

    如何將第一題中的 4 個(gè)表進(jìn)行備份,數(shù)據(jù)庫用戶、密碼為:admin/admin 數(shù)據(jù)庫名為:dbschool
    SELECT CONCAT(“mysqldump -uroot -p123 “,table_schema,”
    “,table_name,” >/tmp/”,table_schema,"_",table_name,".sql" )
    FROM information_schema.tables
    WHERE table_schema NOT IN(‘information_schema’,‘performance_schema’,‘sys’)
    INTO OUTFILE ‘/tmp/bak.sh’ ;

    2.3.35 部門表:t_dept(deptid ,deptname)工資表:t_salary(id,employeeid,deptid,salary)要求:查出員工的平均工資大于 3000 的部門名稱
    Select td.deptname,avg(ts.salary) from t_dept as td join t_salary as ts
    On td.deptid=ts.deptid
    Group by td.deptname
    Having avg(ts.salary)>3000;

    2.3.36 student 表(Sno,Sname,Sage,Ssex)Course 表(Cno,Cname,Ccredit)SC 表(Sno, Cno,grade)
    建表 student、course、SC(略)

    查詢年齡小于 20 的學(xué)生學(xué)號(hào)、年齡,并顯示
    Select s.sno,s.sage from student as s where s.sgae<20

    查詢年齡不在 20-23(包括 20,23)的學(xué)生的成績
    Select s.sname,s.sage,sc.score from student as s
    Join sc
    On s.sno=sc.sno
    Where s.sage<20
    Union all
    Select s.sname,s.sage,sc.score from student as s
    Join sc
    On s.sno=sc.sno
    Where s.sage>23
    2.3.37 給出查詢表 A(ID,Name)中存在 ID 重復(fù)三次以上的記錄的 SQL 語句
    Select id ,count(id) from a group by id having count(id)>3;

    2.3.38 mysql 用戶名:root,密碼:123456,socket:/opt/mysql3306/mysql3306.sock,跑默認(rèn)端口, 請(qǐng)使用一條命令更新該數(shù)據(jù)源 neutron 庫中的 ipallocations 表中的 ip_address 字段等于 10.4.182.36 的記錄為 202.113.14.92
    mysql –uroot –p123456 –S /opt/mysql3306/mysql3306.sock –e “update neutron. Ipallocations set
    ip_address=’ 202.113.14.92’ where ip_address=’ 10.4.182.36’”;

    2.3.39 寫出以下 SQL 語句(涉及到表名和字段自定義)
    查詢某一個(gè)表前 20 條記錄
    Delete from t where id<21;
    某公司從下個(gè)月起,每個(gè)人工資在原有基礎(chǔ)上上漲 10%
    Update t set salary=salary+salary*.01 where date=date_format(now(),%m)+1;
    刪除某個(gè)表中日期為 2017-01-01 以前的數(shù)據(jù)
    Delete from t where date<’ 2017-01-01’;
    新增一條記錄
    Insert into t values(xxx)
    備份數(shù)據(jù)庫
    Mysqldump –uroot –pxxx –A –master-data=2 –single-transaction –R –E –triggers >/bak.sql

    2.3.40 有三張表分別為客戶表 customers,賬戶表 accounts,用戶表 users
    客戶表 customers (cust_id,cust_name,cust_opendate())
    賬戶表 accounts(acc_id,acc_name,cust_id,acc_opendate(賬戶開通時(shí)間))
    用戶表 users(user_id,user_name,cust_id,lost_login_date(用戶最后登錄時(shí)間))
    每個(gè)客戶可以開通多個(gè)帳號(hào),每個(gè)客戶有多個(gè)用戶,cust_id,acc_id,user_id 分別為客戶、賬戶、用戶的唯一標(biāo)志,cust_opendate,acc_opendate,lost_login_date 類型為 date 按照要求用一條 sql 語句完成
    統(tǒng)計(jì)每個(gè)月開通的客戶數(shù)
    Select date_format(a. acc_opendate,%m),count(c. cust_id)
    From customers as c join accounts as a
    On c. cust_id=a. cust_id
    Group by date_format(a. acc_opendate,%m)
    列出上個(gè)月開通客戶列表,并輸出這些客戶所具有的賬戶和用戶數(shù)量
    Select a.acc_name,count(u. user_id) from accounts as a
    Join users as u
    On a. cust_id=u. cust_id
    Where date_format(a. acc_opendate,%m) = date_format(now(),%m)-1;
    統(tǒng)計(jì)三個(gè)月內(nèi)登錄過的客戶數(shù)量
    Select lost_login_date,count(user_id) from users
    Where date_format (lost_login_date,%m) in (date_format(now(),%m),date_format(now(),%m)-1,
    date_format(now(),%m)-2)
    統(tǒng)計(jì)老客戶今年開通賬戶的數(shù)量,老客戶是指今年以前開通的賬戶
    Select cust_opendate,count(cust_id) from customers
    Where date_format (cust_opendate,%y)> date_format (now(),%y)

    2.3.41 SQL
    表名 user
    Name Tel Content Date
    張三 13333663366 大專畢業(yè) 2006-10-11
    張三 13612312331 本科畢業(yè) 2006-10-15
    張四 021-55665566 中專畢業(yè) 2006-10-15
    (a) 有一新記錄(小王 13254748547 高中畢業(yè) 2007-05-06)請(qǐng)用 SQL 語句新增至表中
    Insert into user values(‘小王’,’ 13254748547’,’ 高中畢業(yè)’,’ 2007-05-06’)
    (b) 請(qǐng)用 sql 語句把張三的時(shí)間更新成為當(dāng)前系統(tǒng)時(shí)間
    Update user set date=now() where name=’張三’;
    ? 請(qǐng)寫出刪除名為張四的全部記錄
    Delete from user where name=’張四’

    2.3.42 創(chuàng)建一個(gè)用戶并賦予權(quán)限
    Grant all on . to root@’10.0.0.%’ indentified by ‘123’;

    2.3.43 創(chuàng)建表空間 neuspace,數(shù)據(jù)文件命名為 neudata.dbf,存放在 d:\data 目錄下,文件大小為 200MB,設(shè)為自動(dòng)增長,增量 5MB,文件最大為 500MB
    Create tablespace neuspace datafile ‘d:\data\neudata.dbf’size 200MB AUTOEXTEND ON NEXT 5M MAXSIZE 500M;

    2.3.44 以系統(tǒng)管理員身份登錄,創(chuàng)建賬號(hào) tom,設(shè)置 tom 的默認(rèn)表空間為 neuspace.為 tom 分配 connect 和 resource 系統(tǒng)角色,獲取基本的系統(tǒng)權(quán)限。然后為 tom 分配對(duì)用戶 scott 的表 emp 的 select 權(quán)限和對(duì) SALARY,MGR 屬性的 update 權(quán)限
    Create user tom identified by tom default tablespace account;
    grant connect, resource to tom;
    grant select on scott.emp to tom
    grant update on SALARY.MGR to tom

    2.3.45 按如下要求創(chuàng)建 class
    屬性 類型(長度) 默認(rèn)值 約束 含義
    CLASSNO 數(shù)值(2) 無 主鍵 班級(jí)編號(hào)
    CNAME 變長字符(10)無 非空 班級(jí)名稱
    Create table class(classno int(2) not null primary key auto_increment comment ‘班級(jí)編號(hào)’,
    CNAME varchar(10) not null comment ‘班級(jí)名稱’)

    2.3.46 學(xué)生表有四個(gè)字段:學(xué)號(hào)、姓名、年級(jí)、學(xué)分,統(tǒng)計(jì)出按年級(jí)降序同名同姓的數(shù)據(jù)情況(寫 出 sql 語句)
    Select name ,count(name) from user group by name order by class desc ;

    2.3.47 在表 class 的 CNAME 屬性上創(chuàng)建索引 class_sname_idx
    Alter table class add index class_sname_idx(CNAME);

    2.3.48 sql 類
    學(xué)生信息表
    姓名(Name) 學(xué)號(hào)(Code)
    張三 001
    李四 002
    馬五 003
    甲六 004
    考試信息表
    學(xué)號(hào) 學(xué)科 成績
    001 數(shù)學(xué) 80
    002 數(shù)學(xué) 75
    001 語文 90
    002 語文 80
    001 英語 90
    002 英語 85
    003 英語 80
    004 英語 70
    查詢各科成績的平均分,顯示欄位為學(xué)科、平均分,sql 怎么寫
    Select a.學(xué)科,avg(b.成績) from student as a join course b on a.id=b.code group by a.學(xué)科;
    查詢所有學(xué)生各科成績,顯示欄位為姓名、學(xué)號(hào)、學(xué)科、成績,并以學(xué)號(hào)與學(xué)科排序,沒有成績的學(xué)生也需要列出,sql 怎么編寫
    Select a.name,a.code,b.學(xué)科,b.成績 from student as a join course as b on a.code=b.id order by a.學(xué)號(hào),b.學(xué)科
    查詢出單科成績最高的,顯示欄位為:姓名、學(xué)號(hào)、學(xué)科、成績,sql 怎么編寫
    Select a.name,a.code,b.id,b. 學(xué)科,max(b.成績) from from student as a join course as b on a.code=b.id Group by b. 學(xué)科
    列出每位學(xué)生各科成績,要求輸出格式:姓名、學(xué)號(hào)、語文成績、數(shù)學(xué)成績、英語成績,sql 怎么寫
    Select a.name,a.code,b.id,
    Case when b.學(xué)科=’ 語文’ then b.成績 end as ‘語文成績’,
    Case when b.學(xué)科=’ 數(shù)學(xué)’ then b.成績 end as ‘?dāng)?shù)學(xué)成績’,
    Case when b.學(xué)科=’ 英語’ then b.成績 end as ‘英語成績’,
    from student as a join course as b on a.code=b.id
    Group by 姓名,學(xué)號(hào);

    2.3.49 不借助第三方工具,如何獲得 SQL 的執(zhí)行計(jì)劃?

    explain select xxx from TAB where xxx

    總結(jié)

    以上是生活随笔為你收集整理的扩展:数据库笔试题集合-2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产乱大交 | 神马久久网 | 天天舔天天舔 | 亚洲伊人av | 欧美日韩中文字幕 | 欧美色偷偷 | 国产精品91在线 | 色呦呦免费观看 | 亚洲69av| 欧美一级视频在线观看 | 亚洲日本视频 | 波多野结衣办公室双飞 | 猎艳山村丰满少妇 | www.久久久久| 欧美精品成人 | 日本精品三级 | 中文字幕一区二区久久人妻网站 | 亚洲国产aⅴ精品一区二区的游戏 | 国产又粗又猛又黄又爽的视频 | 中文字幕国产剧情 | 30一40一50女人毛片 | 国产精品久久久久不卡 | 国产精品女人久久久 | 男女拍拍拍网站 | 国产在线97 | 国产污网站 | 日韩欧美午夜 | a级黄片毛片 | 中文字幕在线乱 | 福利视频在线导航 | 久久精品视频在线 | 成人少妇影院yyyy | 免费伊人网 | 岛国av免费看 | 欧美成人精品一区二区免费看片 | 乌克兰少妇性做爰 | 天堂网视频在线 | 少妇太紧太爽又黄又硬又爽 | 亚洲一级成人 | 日韩经典一区 | 久久综合成人网 | 在线观看日韩国产 | 色噜噜色狠狠 | 久草资源在线 | 中文字幕在线字幕中文 | 亚洲乱码一区 | 久久无码人妻精品一区二区三区 | 优优色影院 | 青久草视频 | 娇小6一8小毛片 | 制服.丝袜.亚洲.中文.综合懂 | 99久99 | 无码人妻精品一区二区三区99日韩 | 欧美三级欧美一级 | 欧洲最强rapper网站直播 | 中文字幕欧美亚洲 | 三女警花合力承欢猎艳都市h | 在办公室被c到呻吟的动态图 | 一级黄色片毛片 | 成人免费视频国产免费网站 | 亚洲视频图片 | 日韩在线不卡av | 香蕉久久国产av一区二区 | 日韩在线不卡视频 | 免费一级一片 | 欧美精品久久久久久久多人混战 | 91精品国产综合久久香蕉922 | 一区二区乱子伦在线播放 | 午夜精品久久久内射近拍高清 | 竹菊影视日韩一区二区 | 乱岳| 天天干天天操 | 国产美女免费无遮挡 | 蜜桃又黄又粗又爽av免 | 亚洲精品7777 | 色桃av| 99精品在线免费观看 | 中文字幕精品久久久久人妻红杏1 | 久草免费看 | 女仆裸体打屁屁羞羞免费 | 日本一区视频 | 中国亚洲女人69内射少妇 | 免费在线观看一区二区三区 | 日本免费在线视频 | 久操影视 | 怡红院精品视频 | 四虎永久在线精品免费网址 | 色多多在线观看 | 国产精品久久久久久久久久久久久久久久 | 午夜之声l性8电台lx8电台 | 亚洲熟妇无码乱子av电影 | 538在线精品视频 | 日本在线第一页 | 亚洲小说图片区 | 亚洲视频在线观看一区二区三区 | 九一精品视频 | 男女考妣视频 | mm1313亚洲国产精品无码试看 | 中文字幕av在线播放 |