数据库和表的基本操作

数据库

查看数据库
复制代码
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)
相关推荐
拾贰_C14 分钟前
【python | installation 】python 安装 | Windows | 命令使用
linux·数据库·ubuntu
贺今宵25 分钟前
Vue 3 + Capacitor 使用jeep-sqlite,web端使用本地sqlite数据库
前端·数据库·vue.js·sqlite·web
列星随旋30 分钟前
MySQL面经整理
数据库·mysql
AllData公司负责人30 分钟前
大模型赋能AllData数据中台,系列升级|通过联合智谱大模型与Chat2DB开源项目,建设Text2SQL生产场景全新体验的数据源平台!
数据库·人工智能·text2sql·数据中台·数据源·chat2db·智谱大模型
minji...1 小时前
MySQL数据库 (四) MySQL的数据类型,tinyint,float,decimal,枚举enum和集合set
数据库·mysql·tinyint·enum·decimal·varchar·bit
阿演2 小时前
DataDjinn 新版本更新:国产数据库支持、连接树体验、AI 查询和表格编辑继续增强
数据库·人工智能·ai·ai编程
一只fish2 小时前
Oracle官方文档翻译《Database Concepts 26ai》附录-术语表
数据库·oracle
一只fish2 小时前
Oracle官方文档翻译《Database Concepts 26ai》第23章-数据库开发者概念
数据库·oracle
todoitbo2 小时前
从 MySQL 到 KingbaseES:Database、Schema、User 一次讲透
数据库·mysql·国产数据库·kingbasees
勇往直前plus3 小时前
Redis&Python 梳理
数据库·redis·python