用mySQL创建一个包含年龄 姓名的数据库在里面添加 小明 88
时间: 2023-03-29 19:03:12 浏览: 119
好的,我可以回答这个问题。您可以使用以下 SQL 语句创建一个包含年龄和姓名的数据库,并添加一个名为小明,年龄为 88 的记录:
CREATE TABLE person (
name VARCHAR(50),
age INT
);
INSERT INTO person (name, age) VALUES ('小明', 88);
相关问题
java连接mysql数据库增删改查学生信息要创建学生类定义一个方法接口
首先需要创建一个学生类,包含学生的各种属性,如姓名、年龄、学号等等。然后我们可以创建一个接口,用于定义增删改查的方法。
以下是一个简单的示例代码:
```java
import java.sql.*;
// 学生类
class Student {
private String name;
private int age;
private int id;
public Student(String name, int age, int id) {
this.name = name;
this.age = age;
this.id = id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public int getId() {
return id;
}
}
// 接口
interface StudentDao {
// 增
boolean add(Student student);
// 删
boolean delete(int id);
// 改
boolean update(Student student);
// 查
Student find(int id);
}
// 实现接口
class StudentDaoImpl implements StudentDao {
private Connection conn;
public StudentDaoImpl(Connection conn) {
this.conn = conn;
}
@Override
public boolean add(Student student) {
try {
PreparedStatement ps = conn.prepareStatement("INSERT INTO student(name,age,id) VALUES (?,?,?)");
ps.setString(1, student.getName());
ps.setInt(2, student.getAge());
ps.setInt(3, student.getId());
ps.executeUpdate();
return true;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
@Override
public boolean delete(int id) {
try {
PreparedStatement ps = conn.prepareStatement("DELETE FROM student WHERE id=?");
ps.setInt(1, id);
ps.executeUpdate();
return true;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
@Override
public boolean update(Student student) {
try {
PreparedStatement ps = conn.prepareStatement("UPDATE student SET name=?,age=? WHERE id=?");
ps.setString(1, student.getName());
ps.setInt(2, student.getAge());
ps.setInt(3, student.getId());
ps.executeUpdate();
return true;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
@Override
public Student find(int id) {
try {
PreparedStatement ps = conn.prepareStatement("SELECT * FROM student WHERE id=?");
ps.setInt(1, id);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
String name = rs.getString("name");
int age = rs.getInt("age");
int studentId = rs.getInt("id");
return new Student(name, age, studentId);
} else {
return null;
}
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
}
// 测试类
public class Test {
public static void main(String[] args) {
// 连接数据库
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, username, password);
System.out.println("连接数据库成功!");
// 创建学生Dao对象
StudentDao dao = new StudentDaoImpl(conn);
// 增加学生
Student student1 = new Student("小明", 18, 1);
dao.add(student1);
System.out.println("添加学生成功!");
// 修改学生
Student student2 = new Student("小红", 17, 1);
dao.update(student2);
System.out.println("修改学生成功!");
// 查找学生
Student student3 = dao.find(1);
System.out.println("查找到的学生信息:姓名=" + student3.getName() +
", 年龄=" + student3.getAge() + ", 学号=" + student3.getId());
// 删除学生
dao.delete(1);
System.out.println("删除学生成功!");
// 关闭连接
conn.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
```
在实现接口的类中,我们使用了 PreparedStatement 对象来执行 SQL 语句,这样可以避免 SQL 注入的风险。同时,在实现增删改查的方法时,我们需要处理 SQL 执行过程中可能出现的异常。
头歌MySQL数据库实训答案
由于MySQL数据库实训题目不同,答案也会有所不同。以下是一些可能的MySQL数据库实训题目以及相应的答案:
1. 创建一个名为“students”的数据库,其中包含一个名为“grades”的表格,该表格包含以下列:学生ID(student_id),姓名(name),年龄(age)和成绩(grade)。
答案:
CREATE DATABASE students;
USE students;
CREATE TABLE grades (
student_id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
grade INT
);
2. 向“grades”表格中插入以下数据:
学生ID 姓名 年龄 成绩
1 小明 18 90
2 小红 19 85
3 小刚 20 92
答案:
INSERT INTO grades (student_id, name, age, grade)
VALUES (1, '小明', 18, 90),
(2, '小红', 19, 85),
(3, '小刚', 20, 92);
3. 从“grades”表格中选择所有学生的姓名和成绩,并按成绩降序排列。
答案:
SELECT name, grade FROM grades
ORDER BY grade DESC;
4. 更新学号为2的学生的成绩为88分。
答案:
UPDATE grades SET grade = 88
WHERE student_id = 2;
5. 从“grades”表格中删除学号为3的学生记录。
答案:
DELETE FROM grades WHERE student_id = 3;
6. 在“grades”表格中添加一个名为“性别”的列,其数据类型为“VARCHAR(10)”。
答案:
ALTER TABLE grades ADD COLUMN gender VARCHAR(10);
7. 将“grades”表格中所有成绩低于80分的学生的性别设置为“不及格”。
答案:
UPDATE grades SET gender = '不及格'
WHERE grade < 80;
8. 创建一个名为“courses”的表格,其中包含以下列:课程ID(course_id),课程名称(name)和学分(credit)。
答案:
CREATE TABLE courses (
course_id INT PRIMARY KEY,
name VARCHAR(50),
credit INT
);
9. 向“courses”表格中插入以下数据:
课程ID 课程名称 学分
1 数据库 3
2 算法设计 4
3 操作系统 3
答案:
INSERT INTO courses (course_id, name, credit)
VALUES (1, '数据库', 3),
(2, '算法设计', 4),
(3, '操作系统', 3);
10. 创建一个名为“score”的表格,其中包含以下列:学生ID(student_id),课程ID(course_id)和分数(score)。
答案:
CREATE TABLE score (
student_id INT,
course_id INT,
score INT,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES grades(student_id),
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
11. 向“score”表格中插入以下数据:
学生ID 课程ID 分数
1 1 88
1 2 92
2 1 85
2 3 90
3 2 80
答案:
INSERT INTO score (student_id, course_id, score)
VALUES (1, 1, 88),
(1, 2, 92),
(2, 1, 85),
(2, 3, 90),
(3, 2, 80);
12. 从“score”表格中选择所有学生的姓名、课程名称和分数,并按学生ID升序排列。
答案:
SELECT grades.name, courses.name, score.score
FROM score
INNER JOIN grades ON score.student_id = grades.student_id
INNER JOIN courses ON score.course_id = courses.course_id
ORDER BY grades.student_id ASC;
阅读全文