数据库和表的基本操作

数据库

查看数据库
复制代码
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)
相关推荐
这个DBA有点耶3 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G3 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备3 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远3 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
2601_962218613 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren3 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安3 天前
MySQL-触发器
数据库·mysql
白远山3 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
Omics Pro3 天前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理
2603_965148113 天前
AI+API选品:下一代智能商务助手雏形已现
java·大数据·数据库·人工智能·数据挖掘