MySQL基础---DML的基本操作

 1、启动虚拟机并登录MySQL,并查看数据库

[root@localhost ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 24
Server version: 5.7.40 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| kb21               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

2、创建myschool database 并进入myschool

mysql> create database myschool;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| kb21               |
| myschool           |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

mysql> use myschool;
Database changed

3、创建grade表

mysql> create table if not exists `grade`(gradeid int(10) primary key auto_increment, subjectno varchar(50),gradename varchar(50));
Query OK, 0 rows affected (0.09 sec)

mysql> desc grade;
+-----------+-------------+------+-----+---------+----------------+
| Field     | Type        | Null | Key | Default | Extra          |
+-----------+-------------+------+-----+---------+----------------+
| gradeid   | int(10)     | NO   | PRI | NULL    | auto_increment |
| subjectno | varchar(50) | YES  |     | NULL    |                |
| gradename | varchar(50) | YES  |     | NULL    |                |
+-----------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

4、创建student表

mysql> create table student(StudentNo int(10) primary key auto_increment,LoginPwd varchar(20) ,StudentName varnyint(1),GradeID int (10),phone varchar(50),address varchar(255),borndate datetime,email varchar(50),IdentityC,constraint FK_GradeId foreign key (GradeID) references grade(GradeID));
Query OK, 0 rows affected (0.06 sec)

mysql> desc student;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| StudentNo    | int(10)      | NO   | PRI | NULL    | auto_increment |
| LoginPwd     | varchar(20)  | YES  |     | NULL    |                |
| StudentName  | varchar(20)  | YES  |     | NULL    |                |
| sex          | tinyint(1)   | YES  |     | NULL    |                |
| GradeID      | int(10)      | YES  | MUL | NULL    |                |
| phone        | varchar(50)  | YES  |     | NULL    |                |
| address      | varchar(255) | YES  |     | NULL    |                |
| borndate     | datetime     | YES  |     | NULL    |                |
| email        | varchar(50)  | YES  |     | NULL    |                |
| IdentityCard | varchar(18)  | YES  |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
10 rows in set (0.00 sec)

5、向grade表中插入数据

mysql> insert into grade(gradename) values("one"),("two"),("three"),("four");
Query OK, 4 rows affected (0.02 sec)

6、创建subject表并关联

mysql> create TABLE `subject` ( subjectno int PRIMARY key auto_increment, subjectname varchar(50), classhour i int(10)  );
Query OK, 0 rows affected (0.03 sec)

mysql> show tables;
+--------------------+
| Tables_in_myschool |
+--------------------+
| grade              |
| student            |
| subject            |
+--------------------+
3 rows in set (0.00 sec)

mysql> alter table subject add constraint FK_gradeid2 foreign key(gradeid) references grade(gradeid);
Query OK, 0 rows affected (0.07 sec)
Records: 0  Duplicates: 0  Warnings: 0

7、创建result表

mysql> create table if not exists `result`
    -> (
    -> studentno int(10),
    -> subjectno int(10),
    -> examdate datetime,
    -> studentresult int(10)
    -> );

8、向student表中插入数据

mysql> insert into student(studentno,studentname,sex,gradeid,borndate,identitycard)
    -> values(1000,'zhangsan',1,1,now(),'511133199907140613'),
    -> (1001,'lisi',0,2,now(),'511133199907140614'),
    -> (1002,'wangwu',1,3,now(),'511133199907140615');
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0


mysql> select * from student;
+-----------+----------+-------------+------+---------+-------+---------+---------------------+-------+-------
| studentno | loginpwd | studentname | sex  | gradeid | phone | address | borndate            | email | identi
+-----------+----------+-------------+------+---------+-------+---------+---------------------+-------+-------
|      1000 | NULL     | zhangsan    |    1 |       1 | NULL  | NULL    | 2022-12-05 10:54:49 | NULL  | 511133
|      1001 | NULL     | lisi        |    0 |       2 | NULL  | NULL    | 2022-12-05 10:54:49 | NULL  | 511133
|      1002 | NULL     | wangwu      |    1 |       3 | NULL  | NULL    | 2022-12-05 10:54:49 | NULL  | 511133
+-----------+----------+-------------+------+---------+-------+---------+---------------------+-------+-------
3 rows in set (0.01 sec)

9、向subject表中插入数据

mysql> insert into subject(subjectno,subjectname,classhour,gradeid) value(1,'MATH1',40,1),(2,'MATH2',38,2),(3,8,3),(4,'Hadoop',44,4);
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

mysql> select * from subject;
+-----------+-------------+-----------+---------+
| subjectno | subjectname | classhour | gradeid |
+-----------+-------------+-----------+---------+
|         1 | MATH1       |        40 |       1 |
|         2 | MATH2       |        38 |       2 |
|         3 | JavaProject |        38 |       3 |
|         4 | Hadoop      |        44 |       4 |
+-----------+-------------+-----------+---------+
4 rows in set (0.00 sec)

10、update更新grade表

mysql> update grade set subjectno=1 where gradeid=1;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> update grade set subjectno=2 where gradeid=2;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0


mysql> update grade set subjectno=3 where gradeid=3;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0


mysql> update grade set subjectno=4 where gradeid=4;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from grade;
+---------+-----------+-----------+
| gradeid | subjectno | gradename |
+---------+-----------+-----------+
|       1 |         1 | one       |
|       2 |         2 | two       |
|       3 |         3 | three     |
|       4 |         4 | four      |
+---------+-----------+-----------+
4 rows in set (0.00 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值