数据库和表的基本操作

数据库

查看数据库
复制代码
1.查看所有数据库
SHOW DATABASES; 
2.查看数据库信息 
SHOW CREATE DATABASE 数据库名称;
创建数据库
复制代码
CREATE DATABASE 数据库名; 
查看当前使用的数据库
复制代码
SELECT DATABASE(数据库名);
查看当前用户
复制代码
SELECT USER(用户名);
使用数据库
复制代码
USE 数据库名;

在操作数据表之前,使用"USE 数据库名"指定使用的数据库。

删除数据库
复制代码
DROP DATABASE 数据库名;

删除数据库后,数据库中的所有数据都将被清除,原来分配的空间也将被回收!

修改数据库
复制代码
ALTER DATABASE 数据库名称 DEFAULT CHARACTER SET 编码方式 COLLATE 编码方式_bin
复制代码
itcast数据库的编码方式为utf8,将数据库itcast的编码改为gbk
ALTER DATABASE itcast DEFAULT CHARACTER SET gbk COLLATE gbk_bin
示例
复制代码
#创建数据库schoolInfo1
mysql> create database schoolInfo1;  
Query OK, 1 row affected (0.05 sec)
​
#查看所有数据库
mysql> show databases;  
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| ods                |
| performance_schema |
| schoolinfo         |
| schoolinfo1        |
| sys                |
| testdb             |
+--------------------+
​
#删除数据库schoolInfo1
mysql> drop database schoolInfo1;  
Query OK, 0 rows affected (0.13 sec)
​
#使用schoolInfo数据库
mysql> use schoolinfo;  
Database changed

数据表

创建数据表

CREATE TABLE 表名(字段 数据类型 约束条件);

复制代码
create table 表名
(
字段名1,数据类型[完整性约束条件],
字段名2,数据类型[完整性约束条件],
...
字段名n,数据类型[完整性约束条件]
);
复制代码
约束条件:
主键 PRIMARY KEY
非空 NOT NULL
唯一 UNIQUE
默认值 DELETE
外键 FOREIGN KEY
auto_increment自动增长
查看数据表
复制代码
1.查看当前数据库中所有数据表
SHOW TABLE;
2.查看数据表,创建表时的定义语句,以及表的字符编码。
SHOW CREATE TABLE 表名;
查看表结构
复制代码
DESCRIBE 表名;

DESCRIBE语句可以查看表的字段信息,其中包括字段名、字段类型等信息。

删除数据表
复制代码
DROP TABLE 表名;
示例
复制代码
#查看数据表
mysql> show tables; 
Empty set (0.04 sec)
​
#创建班级表classes(id,name)
CREATE TABLE classes(
   id int PRIMARY KEY auto_increment,
   name VARCHAR(10) not null
);
​
# 创建学生表students(id,name,age,height,enrollment_time,allowance,cid)
CREATE TABLE students ( 
    id int PRIMARY key auto_increment,
        name VARCHAR(20) not null,
        age int,
        gender char(1),
        height float,
        enrollment_time date,
        allowance decimal(7,2),
        cid int,
        FOREIGN key (cid) REFERENCES classes(id)
);
​
#创建教师表 teacherInfo
mysql> create table teacherInfo(
    -> id int(4) primary key not null unique key,
    -> num int(10) not null unique key,
    -> name varchar(20) not null,
    -> sex varchar(4) not null,
    -> birthday datetime null,
    -> address varchar(50) null
    -> );
Query OK, 0 rows affected (0.20 sec)
​
#查看表结构
mysql> desc teacherInfo;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(4)      | NO   | PRI | NULL    |       |
| num      | int(10)     | NO   | UNI | NULL    |       |
| name     | varchar(30) | YES  |     | NULL    |       |
| sex      | varchar(4)  | NO   |     | NULL    |       |
| birthday | datetime    | YES  |     | NULL    |       |
| address  | varchar(50) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
6 rows in set (0.03 sec)
​
#查看schoolinfo数据库中的所有数据表
mysql> show tables;
+----------------------+
| Tables_in_schoolinfo |
+----------------------+
| classes              |
| students             |
| teacherinfo          |
+----------------------+
3 rows in set (0.00 sec)
​
#删除数据表students
mysql> drop table students;
Query OK, 0 rows affected (0.09 sec)
相关推荐
TDengine (老段)2 分钟前
TDengine 第三方工具 — Telegraf、Kafka Connect、Flink、Spark
大数据·数据库·物联网·flink·kafka·时序数据库·tdengine
小白勇闯网安圈9 小时前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
努力的小雨10 小时前
同一份 SQL 跑多套环境:Ksql 变量怎么用才安全
数据库
科技绘图10 小时前
快鲸GEO vs 传统AI搜索优化:全链路自动化与高效内容生产在转化闭环上的对比
数据库·人工智能·自动化
ltl10 小时前
数据库作为 LLM 记忆体:语义缓存、RAG 与一致性
数据库
ltl10 小时前
WAL 与崩溃恢复:ARIES 协议怎么跑通
数据库
ltl11 小时前
TEE 数据库:EnclaveDB、Oblivious 原语与机密 SQL
数据库
麻瓜code12 小时前
【Mysql】重新学一遍 SQL 执行顺序
数据库·sql
这个DBA有点耶12 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
一只fish12 小时前
优化器架构对比:Oracle vs PostgreSQL vs MySQL
mysql·postgresql·oracle