数据库
查看数据库
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)