数据库mysql面试常见标题

作者:数据库

数据库 1

第一题
某班学生和考试成绩新闻如下表Student所示:
Student表
ID SName Mark
1 Jack 90
2 Marry 96
3 Rose 88
4 Bob 86
5 John 83
6 Belty 85
7 Robert
中间ID为学员的编号,SName为真名,马克为战表,请针对以下难点,写出相应的SQL:
CREATE TABLE student(id tinyint unsigned primary key auto_increment,snamevarchar(10) not null,mark decimal(4,1));
1、 请查询战表抢先85分的学生的全名;
SELECT sname FROM student WHERE mark > 85;
2、 请查询成绩当先等于90分的人头;
SELECT count(id) FROM student WHERE mark >= 90;
3、 罗伯特本次考试考了80分,不过战表没能录入表中,请将其成就增多进去;
UPDATE student SET mark = 80 WHERE id = 7;
4、 请将罗斯的战绩修改为87.5;
UPDATE student SET mark = 87.5 WHERE id = 3;
5、 请删除Belty的记录;
DELETE FROM student WHERE id = 6;
6、 查询分数在83和90中间的上学的小孩子名字
SELECT sname FROM student WHERE mark >= 83 and mark <= 90;
SELECT sname FROM student WHERE mark between 83 and 90;
7、 查询首字母为J的学生姓名
SELECT sname FROM student WHERE sname like ‘J%’;
8、 查询学习最棒的学习者姓名和作育
SELECT sname,max(mark),mark FROM student;
第二题
 现成关周全据库如下:
同学表(学号char(6)、姓名、性别、年龄、名族、居民身份证号、宿舍号)
宿舍表(宿舍号char(6)、宿舍电话)
用SQL语言完成下列作用的sql语句代码:
1、 创造数据表[宿舍表]代码:
宿舍表(宿舍号char(6)、宿舍电话)
供给运用:主键(宿舍号)
CREATE TABLE dormitory(did char(6) primary key,telvarchar(13));
2、 创立数据表[同学表]代码:
同学表(学号char(6)、姓名、性别、年龄、民族、居民身份证号、宿舍号)
务求利用:主键(学号)、外键(宿舍号)、默许(维吾尔族)、非空(民族、姓名、年龄)、独一(身份ID号)
CREATE TABLE student1(sid char(6) primary key,snamevarchar(10) not null,sexenum(‘男’,’女’,’保密’),age tinyint unsigned not null,nationalityvarchar(10) not null default ‘汉族’,cidvarchar(18) unique,ssid char(6),foreign key(ssid) references dormitory(did) on delete cascade on update cascade);
3、 将下列宿舍信心加多到宿舍表的代码
宿舍号 宿舍电话
101 6331157
102 6331777
1)、修改:宿舍号为101的宿舍电话:6331158
UPDATE dormitory SET tel = ‘6331158’ WHERE did = ‘101’;
2)、删除:宿舍号为102的宿舍消息
DELETE FROM dormitory WHERE did = ‘102’;
第三题
 遵照须求编辑SQL语句,设有三个数据表Store_Information,用于存储2009年某连锁市肆各市分局的每月营业额音讯,片段如下:
sName Sales sDate
北京店 15000 2009-6-10
天津店 2500 2009-6-10
北京店 3000 2009-6-10
马拉加店 七千 二零零六-6-11
1)、创制该表,全部字段均不足为空
CREATE TABLE store_information(snamevarchar(10) not null,sales decimal(8,2) not null,sdate date not null);
2)、修改表结构,增多一列可认为空的备注音讯:Memo
3)、将持有子集团名称均由”某某店”改成”某某分店”,改后有的如下
sName Sales sDate Memo
首都分店 1四千 2010-6-10
拉合尔分号 2500 2008-6-10
东京根据地 三千 二〇〇九-6-10
奇瓦瓦支行 七千 贰零零捌-6-11
UPDATE store_information SET sname = ‘新加坡分号’ WHERE sname = ‘新加坡店’;
UPDATE store_information SET sname =replace(sname,’店’,’分店’);
4)、查询各分行的平分日营业额
SELECT sname,round(avg(sales)/30,2) FROM store_information GROUP BY sname;
5)、查询哪些分店的营业总额超过了1柒仟
SELECT sname,sum(sales) FROM store_information GROUP BY sname HAVING sum(sales) > 17000;

 运行图:

数据库 2

修改人口的窗体与点击增加按键弹出的窗体是同三个窗体,这里只可是是用代码修改了窗体的Text文本而已,DGV表中选中的多寡也同步到了修改人口窗体对应的Text文本框中,在此地我们只须要平昔修改那个要修改的位置就KO了。

数据库 3

rs();方法的代码:

            private void rs()
           {
            using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=sa;database=YG"))
            {
                con.Open();
                string sql = "select count(*)from B";
                SqlCommand cmd = new SqlCommand(sql, con);
                object cx = cmd.ExecuteScalar();
                //lblRS.Text = cx.ToString(); 将查询到的结果同步标签
                lblrs.Text = cx.ToString(); //将查询到的结果同步到lbl标签
            }
        }

数据库 4

运行图:

数据库 5

输入好新闻后,点击重新初始化按钮就能够清空输入的音讯

数据库 6

能够查询姓名;民族;姓名 民族;都是空的询问任何

新加壹人口运营图:

数据库 7

音讯输入完整增加职业有成,大家看人数前面包车型地铁数字是:12,当自身按分明之后,巧妙的事情就发出了!

数据库 8

人口前面包车型客车数字12化为了13,这里正是因为保存按键里调用了,rs();这几个格局所以才有创新数据的遵守

数据库 9

修改人口窗体中保存按键代码:

                    if (checkinput())
                    {
                    if (this.Text == "添加人员")
                    {
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        con.Open();
                        string sql = "insert B(name,sex) values  (@name,@sex)";
                        SqlCommand cmd = new SqlCommand(sql, con);
                        cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                        cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                        int fh = cmd.ExecuteNonQuery();
                        if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.Close();
                    }
                    }
                    else
                    {
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        con.Open();
                        //update<修改对象所在表> set < 修改对象 >=< 值 > where < 条件对象 >=< '条件内容' >
                       string sql = "update B set name=@name,sex=@sex where id=@id";
                        SqlCommand cmd = new SqlCommand(sql, con);
                        cmd.Parameters.Add(new SqlParameter("@id", this.Tag.ToString()));
                        cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                        cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                        int fh = cmd.ExecuteNonQuery();
                        if (fh > 0) MessageBox.Show("修改成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.Close();
                    }
                }
            }

修改人口中的保存按键代码,跟点击加多按键弹出的窗体中保留按键代码一致,逻辑或者临时不便精晓,多看四回就听得多了就能说的详细了!

修改:

检查测验输入的完整性方法代码:

            private bool checkinput()
            {
            if (txtname.Text == null || txtname.Text == "")
            {
                MessageBox.Show("请输入姓名", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtname.Focus();
                return false;
            }
            if (txtsex.Text == null || txtsex.Text == "")
            {
                MessageBox.Show("请输入性别", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtsex.Focus();
                return false;
            }
            return true;
        }

删除:

加上按键代码:

            添加人员 a = new 添加人员();//创建窗体对象
            a.ShowDialog();//以对话框模式弹出
            sj();//调用sj();这个方法来更新添加的人员数据到DGV表格中

那边丰盛开关的效果跟保存按键的效果是近乎的,目标都以为着丰盛人士数量,只但是大家在此间做了一点代码知识的扩展。

数据库 10

封存按键功用:

程序运营时,在姓名Text博克斯文本框中、性别TextBox文本框中,分别输入人员的真名、性别,然后按保存开关,职员的新闻就被存到了数据库中。

 添加

将SQL数据库中的数据读取到程序的DGV表格中代码:

            private void sj()
            {
            SqlConnection con = new SqlConnection(conStr);//创建连接对象指定连接字符串
            string sql = "select*from B";//sql查询语句
            SqlDataAdapter cx = new SqlDataAdapter(sql, con);//连接数据库并执行sql语句
            DataTable ta = new DataTable();//创建表对象
            cx.Fill(ta);//将查询的内容填充到表对象
            dataGridView1.DataSource = ta;//设置DGV表的数据来源
        }

实际这么些点子在日前就早就面世过了,当大家新增添一位手的时候,就得调用sj();那些措施来更新DGV表格中的数据。

 

运行图:

数据库 11

数据库 12

数据库 13

贰个回顾的次序案例就讲明完了,写那篇博客也不求什么受益,只是希望能带给初学者四个启迪功用,也多数年事后学了多门语言的要好,连最初的C#编程语言结构逻辑思虑全都忘光了,仍可以够在博客上回想一下,只要你一贯在。

功效体现:

新保存的职员数量,登时就会在DGV表格中找到:

数据库 14

那是因为保存开关代码里调用了,sj();这些主意,将新保存的人手消息更新到了DGV表格中。

添加:

运行图:

数据库 15

 

在此间大家可以在DGV表格里加贰个上下文菜单,来促成修改和删除的成效。

数据库 16

右键菜单中期维修改开关的代码:

            添加人员 a = new 添加人员();//创建窗体对象
            a.Text = "修改人员";//将添加人员的窗体Text文本修改为“修改人员”
            a.Tag = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();//将选中的数据传递给修改人员窗体
            a.txtname.Text = dataGridView1.SelectedRows[0].Cells["name"].Value.ToString();//DGV表中选中的人员名字传递到修改人员窗体
            a.txtsex.Text = dataGridView1.SelectedRows[0].Cells["sex"].Value.ToString();///DGV表中选中的人员性别传递到修改人员窗体
            a.ShowDialog();//以对话框模式弹出

 代码部分:

VisualStudio2015

本文由ca88发布,转载请注明来源

关键词: ca88网址 ca88电脑客户端 第一学期 WinFrom开发 ca8