Rumah pangkalan data tutorial mysql mysql练习之一:数据表的基本操作

mysql练习之一:数据表的基本操作

Mar 08, 2021 am 09:18 AM
lembaran data

mysql练习之一:数据表的基本操作

已经学习了MySQL的各种操作,如创建表、添加各种约束、产看表结构、以及修改和删除表。给出一个实战演练,全面复习一下数据表的基本操作基础。


案例:创建数据库company,按照下面两个表给出的表结构在company数据库中创建两个数据表offices和employees,按照操作过程完成数据表的基本操作。

(免费学习推荐:mysql视频教程

在这里插入图片描述

操作过程如下:
Salin selepas log masuk

(1):登录MySQL。

mysql -h localhost -u root -p
Salin selepas log masuk

打开windows命令行,输入登录用户名和密码:

C:\Users\Hudie>mysql -h localhost -u root -p
Enter password: ********Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 19Server version: 8.0.16 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.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>_
Salin selepas log masuk

登录成功,可以输入SQL语句进行操作。


(2):创建数据库company。

create database company;
Salin selepas log masuk
mysql> create database company;Query OK, 1 row affected (0.06 sec)
Salin selepas log masuk

创建成功后,在company数据库中创建数据表,必须先选择该数据库。SQL语句如下:

mysql> use company;Database changed
Salin selepas log masuk

(3):创建表offices。

create table offices
Salin selepas log masuk
mysql> create table offices    -> (
    -> officeCode int(10) not null unique,
    -> city varchar(50) not null,
    -> address varchar(50) not null,
    -> country varchar(50) not null,
    -> postalCode varchar(15) not null,
    -> primary key (officeCode)
    -> );Query OK, 0 rows affected (0.14 sec)mysql> show tables;+-------------------+| Tables_in_company |+-------------------+| offices           |+-------------------+1 row in set (0.00 sec)
Salin selepas log masuk

(4):创建表enployees。

create table employees
Salin selepas log masuk
mysql> create table employees    -> (
    -> employeeNumber int(11) not null primary key auto_increment,
    -> lastNamee varchar(50) not null,
    -> firstName varchar(50) not null,
    -> mobile varchar(25) not null,
    -> officeCode int (10) not null,
    -> jobTitle varchar(50) not null,
    -> birth datetime,
    -> noth varchar(25),
    -> sex varchar(5),
    -> constraint office_fk foreign key(officeCode) references offices(officeCode)
    -> );Query OK, 0 rows affected (0.14 sec)mysql> show tables;+-------------------+| Tables_in_company |+-------------------+| employees         || offices           |+-------------------+2 rows in set (0.01 sec)
Salin selepas log masuk

创建成功,查看两个表的结构:

mysql> desc offices;+------------+-------------+------+-----+---------+-------+| Field      | Type        | Null | Key | Default | Extra |+------------+-------------+------+-----+---------+-------+| officeCode | int(10)     | NO   | PRI | NULL    |       || city       | varchar(50) | NO   |     | NULL    |       || address    | varchar(50) | NO   |     | NULL    |       || country    | varchar(50) | NO   |     | NULL    |       || postalCode | varchar(15) | NO   |     | NULL    |       |+------------+-------------+------+-----+---------+-------+5 rows in set (0.06 sec)mysql> desc employees;+----------------+-------------+------+-----+---------+----------------+| Field          | Type        | Null | Key | Default | Extra          |+----------------+-------------+------+-----+---------+----------------+| employeeNumber | int(11)     | NO   | PRI | NULL    | auto_increment || lastNamee      | varchar(50) | NO   |     | NULL    |                || firstName      | varchar(50) | NO   |     | NULL    |                || mobile         | varchar(25) | NO   |     | NULL    |                || officeCode     | int(10)     | NO   | MUL | NULL    |                || jobTitle       | varchar(50) | NO   |     | NULL    |                || birth          | datetime    | YES  |     | NULL    |                || noth           | varchar(25) | YES  |     | NULL    |                || sex            | varchar(5)  | YES  |     | NULL    |                |+----------------+-------------+------+-----+---------+----------------+9 rows in set (0.01 sec)
Salin selepas log masuk

(5):将表employees的mobile字段修改到officeCode字段后面。

alter table employees modify mobile varchar(25) after officeCode;
Salin selepas log masuk
mysql> alter table employees modify mobile varchar(25) after officeCode;Query OK, 0 rows affected (0.18 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> desc employees;+----------------+-------------+------+-----+---------+----------------+| Field          | Type        | Null | Key | Default | Extra          |+----------------+-------------+------+-----+---------+----------------+| employeeNumber | int(11)     | NO   | PRI | NULL    | auto_increment || lastNamee      | varchar(50) | NO   |     | NULL    |                || firstName      | varchar(50) | NO   |     | NULL    |                || officeCode     | int(10)     | NO   | MUL | NULL    |                || mobile         | varchar(25) | YES  |     | NULL    |                || jobTitle       | varchar(50) | NO   |     | NULL    |                || birth          | datetime    | YES  |     | NULL    |                || noth           | varchar(25) | YES  |     | NULL    |                || sex            | varchar(5)  | YES  |     | NULL    |                |+----------------+-------------+------+-----+---------+----------------+9 rows in set (0.01 sec)
Salin selepas log masuk

(6):将表employees的birth字段改名为employee_birth。

alter table employees change birth employee_birth datetime;
Salin selepas log masuk
mysql> alter table employees change birth employee_birth datetime;Query OK, 0 rows affected (0.03 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> desc employees;+----------------+-------------+------+-----+---------+----------------+| Field          | Type        | Null | Key | Default | Extra          |+----------------+-------------+------+-----+---------+----------------+| employeeNumber | int(11)     | NO   | PRI | NULL    | auto_increment || lastNamee      | varchar(50) | NO   |     | NULL    |                || firstName      | varchar(50) | NO   |     | NULL    |                || officeCode     | int(10)     | NO   | MUL | NULL    |                || mobile         | varchar(25) | YES  |     | NULL    |                || jobTitle       | varchar(50) | NO   |     | NULL    |                || employee_birth | datetime    | YES  |     | NULL    |                || noth           | varchar(25) | YES  |     | NULL    |                || sex            | varchar(5)  | YES  |     | NULL    |                |+----------------+-------------+------+-----+---------+----------------+9 rows in set (0.00 sec)
Salin selepas log masuk

(7):修改sex字段,设置数据类型为char(1),非空约束。

alter table employees modify sex char(1) not null;
Salin selepas log masuk
mysql> alter table employees modify sex char(1) not null;Query OK, 0 rows affected (0.20 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> desc employees;+----------------+-------------+------+-----+---------+----------------+| Field          | Type        | Null | Key | Default | Extra          |+----------------+-------------+------+-----+---------+----------------+| employeeNumber | int(11)     | NO   | PRI | NULL    | auto_increment || lastNamee      | varchar(50) | NO   |     | NULL    |                || firstName      | varchar(50) | NO   |     | NULL    |                || officeCode     | int(10)     | NO   | MUL | NULL    |                || mobile         | varchar(25) | YES  |     | NULL    |                || jobTitle       | varchar(50) | NO   |     | NULL    |                || employee_birth | datetime    | YES  |     | NULL    |                || noth           | varchar(25) | YES  |     | NULL    |                || sex            | char(1)     | NO   |     | NULL    |                |+----------------+-------------+------+-----+---------+----------------+9 rows in set (0.01 sec)
Salin selepas log masuk

(8):删除字段noth。

alter table employees drop noth;
Salin selepas log masuk
mysql> alter table employees drop noth;Query OK, 0 rows affected (0.15 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> desc employees;+----------------+-------------+------+-----+---------+----------------+| Field          | Type        | Null | Key | Default | Extra          |+----------------+-------------+------+-----+---------+----------------+| employeeNumber | int(11)     | NO   | PRI | NULL    | auto_increment || lastNamee      | varchar(50) | NO   |     | NULL    |                || firstName      | varchar(50) | NO   |     | NULL    |                || officeCode     | int(10)     | NO   | MUL | NULL    |                || mobile         | varchar(25) | YES  |     | NULL    |                || jobTitle       | varchar(50) | NO   |     | NULL    |                || employee_birth | datetime    | YES  |     | NULL    |                || sex            | char(1)     | NO   |     | NULL    |                |+----------------+-------------+------+-----+---------+----------------+8 rows in set (0.01 sec)
Salin selepas log masuk

(9):增加字段名favoriate_activity,数据类型为varchar(100)

alter table employees add favoriate_activity varchar(100);
Salin selepas log masuk
mysql> alter table employees add favoriate_activity varchar(100);Query OK, 0 rows affected (0.09 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> desc employees;+--------------------+--------------+------+-----+---------+----------------+| Field              | Type         | Null | Key | Default | Extra          |+--------------------+--------------+------+-----+---------+----------------+| employeeNumber     | int(11)      | NO   | PRI | NULL    | auto_increment || lastNamee          | varchar(50)  | NO   |     | NULL    |                || firstName          | varchar(50)  | NO   |     | NULL    |                || officeCode         | int(10)      | NO   | MUL | NULL    |                || mobile             | varchar(25)  | YES  |     | NULL    |                || jobTitle           | varchar(50)  | NO   |     | NULL    |                || employee_birth     | datetime     | YES  |     | NULL    |                || sex                | char(1)      | NO   |     | NULL    |                || favoriate_activity | varchar(100) | YES  |     | NULL    |                |+--------------------+--------------+------+-----+---------+----------------+9 rows in set (0.00 sec)
Salin selepas log masuk

(10):删除主表offices

①删除表的外键约束:alter table employees drop foreign key office_fk;
②删除表offices:drop table offices;

mysql> alter table employees drop foreign key office_fk;Query OK, 0 rows affected (0.03 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> drop table offices;Query OK, 0 rows affected (0.03 sec)mysql> show tables;+-------------------+| Tables_in_company |+-------------------+| employees         |+-------------------+1 row in set (0.06 sec)
Salin selepas log masuk

(11):修改表employees存储引擎为MyISAM。

alter table employees ENGINE=MyISAM;
Salin selepas log masuk
mysql> alter table employees ENGINE=MyISAM;Query OK, 0 rows affected (0.17 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> show create table employees \G*************************** 1. row ***************************
       Table: employeesCreate Table: CREATE TABLE `employees` (
  `employeeNumber` int(11) NOT NULL AUTO_INCREMENT,
  `lastNamee` varchar(50) NOT NULL,
  `firstName` varchar(50) NOT NULL,
  `officeCode` int(10) NOT NULL,
  `mobile` varchar(25) DEFAULT NULL,
  `jobTitle` varchar(50) NOT NULL,
  `employee_birth` datetime DEFAULT NULL,
  `sex` char(1) NOT NULL,
  `favoriate_activity` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`employeeNumber`),
  KEY `office_fk` (`officeCode`)) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci1 row in set (0.00 sec)
Salin selepas log masuk

(12)将表employees名称修改为employees_info。

alter table employees rename employees_info;
Salin selepas log masuk
mysql> alter table employees rename employees_info;Query OK, 0 rows affected (0.07 sec)mysql> show tables;+-------------------+| Tables_in_company |+-------------------+| employees_info    |+-------------------+1 row in set (0.00 sec)
Salin selepas log masuk

相关免费学习推荐:mysql数据库(视频)

Atas ialah kandungan terperinci mysql练习之一:数据表的基本操作. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Teknologi pemampatan jadual data dalam MySQL Teknologi pemampatan jadual data dalam MySQL Jun 16, 2023 am 08:16 AM

MySQL ialah pangkalan data hubungan biasa yang merupakan komponen teras banyak laman web dan aplikasi. Apabila jumlah data menjadi lebih besar dan lebih besar, cara mengoptimumkan prestasi MySQL menjadi sangat penting. Salah satu bidang utama ialah pemampatan jadual data Dalam artikel ini kami akan memperkenalkan teknologi pemampatan jadual data dalam MySQL. Jadual termampat dan jadual tidak termampat Terdapat dua jenis jadual data dalam MySQL: jadual termampat dan jadual tidak termampat. Jadual tidak dimampatkan ialah jenis jadual lalai MySQL, yang menggunakan format baris panjang tetap untuk menyimpan data. Ini bermakna data

Teknologi operasi DDL jadual data dalam MySQL Teknologi operasi DDL jadual data dalam MySQL Jun 15, 2023 pm 07:55 PM

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang sangat popular yang menyokong operasi DDL (bahasa definisi data) yang lengkap. DDL ialah bahasa yang digunakan untuk mentakrif dan mengurus pelbagai objek data dalam pangkalan data, termasuk jadual data, pandangan, indeks, dsb. Adalah sangat penting bagi pentadbir dan pembangun pangkalan data untuk mahir dalam teknologi operasi DDL bagi jadual data dalam MySQL. Artikel ini akan memperkenalkan secara terperinci teknologi dan kaedah pengendalian DDL bagi jadual data dalam MySQL, dan menyediakan contoh operasi praktikal. 1. Cipta jadual data Mencipta jadual data adalah dalam DDL.

mysql mengubah suai nama jadual data mysql mengubah suai nama jadual data Jun 20, 2023 pm 05:52 PM

MySQL mengubah suai jadual data: 1. Mula-mula semak semua jadual dalam pangkalan data, kodnya ialah: "SHOW TABLES;"; ;". 3. Semak sama ada nama jadual berjaya diubah suai Kodnya ialah: "SHOW TABLES;"

Teknik memuat semula jadual data dalam MySQL Teknik memuat semula jadual data dalam MySQL Jun 15, 2023 pm 11:28 PM

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka. Fungsi asasnya sangat baik dalam reka bentuk pangkalan data, penyimpanan data dan pengurusan. Dalam MySQL, jadual data ialah unit penyimpanan data yang paling asas. Dalam aplikasi praktikal, muat semula jadual data ialah teknik pengendalian yang sangat biasa, yang boleh membantu kami meningkatkan kecekapan operasi pangkalan data dan meningkatkan kestabilan sistem. Artikel ini akan memperkenalkan teknik operasi ini secara terperinci daripada konsep, prinsip dan aplikasi praktikal jadual data lebihan beban dalam MySQL. 1. Apakah yang dimaksudkan dengan lebihan jadual data?

Cara mengira nilai purata lajur berangka dalam jadual data menggunakan fungsi AVG MySQL Cara mengira nilai purata lajur berangka dalam jadual data menggunakan fungsi AVG MySQL Jul 24, 2023 pm 09:52 PM

Pengenalan kepada kaedah menggunakan fungsi AVG MySQL untuk mengira nilai purata lajur berangka dalam jadual data: MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka dengan pelbagai fungsi terbina dalam untuk memproses dan mengira data. Antaranya, fungsi AVG ialah fungsi yang digunakan untuk mengira purata lajur berangka. Artikel ini akan memperkenalkan cara menggunakan fungsi AVG untuk mengira nilai purata lajur berangka dalam jadual data MySQL dan memberikan contoh kod yang berkaitan. 1. Buat jadual data sampel Mula-mula, kita perlu mencipta jadual data sampel untuk demonstrasi. Katakan kita mempunyai fail yang dipanggil

Cara menggunakan thinkorm untuk melaksanakan pertanyaan berkaitan antara jadual data Cara menggunakan thinkorm untuk melaksanakan pertanyaan berkaitan antara jadual data Aug 01, 2023 am 08:25 AM

Cara menggunakan thinkorm untuk melaksanakan pertanyaan berkaitan antara jadual data Pengenalan: Semasa pembangunan pangkalan data, kita sering menghadapi situasi di mana kita perlu melakukan pertanyaan berkaitan antara berbilang jadual data. Menggunakan thinkorm, rangka kerja ORM pangkalan data yang sangat baik, anda boleh dengan mudah melaksanakan pertanyaan berkaitan jadual data dan meningkatkan kecekapan pembangunan. Artikel ini akan memperkenalkan cara menggunakan thinkorm untuk melaksanakan pertanyaan berkaitan antara jadual data dan menyediakan contoh kod untuk membantu pembaca memahami dengan lebih baik. 1. Konsep asas Sebelum melakukan pertanyaan berkaitan, anda perlu memahami terlebih dahulu

Cara melaksanakan pengoptimuman asas MySQL: strategi pemisahan mendatar dan menegak untuk jadual data Cara melaksanakan pengoptimuman asas MySQL: strategi pemisahan mendatar dan menegak untuk jadual data Nov 08, 2023 pm 06:57 PM

Bagaimana untuk merealisasikan pengoptimuman asas MySQL: strategi pembahagian mendatar dan menegak bagi jadual data, yang memerlukan contoh kod khusus Pengenalan: Dalam senario aplikasi berskala besar, pangkalan data MySQL sering menghadapi tekanan untuk menyimpan dan menanyakan data besar-besaran. Untuk menyelesaikan masalah ini, MySQL menyediakan strategi pembahagian jadual data, termasuk pembahagian mendatar (HorizontalPartitioning) dan pembahagian menegak (VerticalPartitioning). Artikel ini akan memperkenalkan cara melaksanakan pengoptimuman asas MySQL, memfokuskan pada

Cara menggunakan fungsi MAX dalam MySQL untuk mencari nilai terbesar dalam jadual data Cara menggunakan fungsi MAX dalam MySQL untuk mencari nilai terbesar dalam jadual data Jul 25, 2023 pm 09:49 PM

Cara menggunakan fungsi MAX dalam MySQL untuk mencari nilai maksimum dalam jadual data Pengenalan: Dalam MySQL, kita selalunya perlu melakukan pelbagai pertanyaan dan analisis pada jadual data, termasuk mencari nilai maksimum dalam jadual data. Nilai maksimum dalam jadual data boleh didapati dengan mudah menggunakan fungsi MAX dan sangat berguna apabila memproses data selanjutnya. Artikel ini akan memperkenalkan cara menggunakan fungsi MAX untuk mencari nilai terbesar dalam jadual data dan memberikan contoh kod yang sepadan. 1. Pengenalan kepada fungsi MAX Fungsi MAX ialah fungsi agregat dalam Penggunaan MySQL

See all articles