数据库(表的创建以及修改)

一、数据库


1、登陆数据库

 

 mysql -uadmin -p123456 -h192.168.1.199


2、创建数据库zoo

mysql> create database zoo;
Query OK, 1 row affected (0.00 sec)


3、修改数据库zoo字符集为gbk

#查看字符集类型
mysql> show variables like 'character%';
+--------------------------+----------------------------------------------------
-----+
| Variable_name            | Value
     |
+--------------------------+----------------------------------------------------
-----+
| character_set_client     | gbk
     |
| character_set_connection | gbk
     |
| character_set_database   | utf8mb4
     |
| character_set_filesystem | binary
     |
| character_set_results    | gbk
     |
| character_set_server     | utf8mb4
     |
| character_set_system     | utf8mb3                                                 |
| character_sets_dir       | D:\Program Files\MySQL\MySQL Server 8.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.01 sec)

#修改数据库zoo字符集为gbk
mysql> alter database zoo character set gbk;
Query OK, 1 row affected (0.00 sec)

#查看修改后的是否准确
mysql> show create database zoo;
+----------+------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                |
+----------+------------------------------------------------------------------------------------------------+
| zoo      | CREATE DATABASE `zoo` /*!40100 DEFAULT CHARACTER SET gbk */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


4、选择当前数据库为zoo

mysql> use zoo;
Database changed


5、查看创建数据库zoo信息

#查看所数据库有
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| student            |
| sys                |
| zoo                |
+--------------------+
6 rows in set (0.01 sec)

#查找数据库zoo信息
mysql> show create database zoo;
+----------+------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                |
+----------+------------------------------------------------------------------------------------------------+
| zoo      | CREATE DATABASE `zoo` /*!40100 DEFAULT CHARACTER SET gbk */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


6、删除数据库zoo

#删除数据库zoo
mysql> drop database zoo;
Query OK, 0 rows affected (0.01 sec)

#查看是否删除
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| student            |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

二、创建表

1、创建一个名称为db_system的数据库

#创建数据库
mysql> create database db_system;
Query OK, 1 row affected (0.00 sec)

#查看是否创建成功
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| db_system          |
| information_schema |
| mysql              |
| performance_schema |
| student            |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

2、在该数据库下创建两张表,具体要求如下

创建user表
mysql> create table user(
    -> id int primary key auto_increment comment'id',
    -> NAME char(20) not null comment'姓名',
    -> gender char(4) not null comment'性别',
    -> birthday date comment'生日',
    -> entry_date date not null comment'入职时间',
    -> job char(30) not null comment'职位');
Query OK, 0 rows affected (0.02 sec)
查看表信息
mysql> desc user;
+------------+----------+------+-----+---------+----------------+
| Field      | Type     | Null | Key | Default | Extra          |
+------------+----------+------+-----+---------+----------------+
| id         | int      | NO   | PRI | NULL    | auto_increment |
| NAME       | char(20) | NO   |     | NULL    |                |
| gender     | char(4)  | NO   |     | NULL    |                |
| birthday   | date     | YES  |     | NULL    |                |
| entry_date | date     | NO   |     | NULL    |                |
| job        | char(30) | NO   |     | NULL    |                |
+------------+----------+------+-----+---------+----------------+
6 rows in set (0.01 sec)
创建salary表
mysql> create table salary(
    -> id int primary key auto_increment comment'id',
    -> userID int not null comment'用户id',
    -> baseSalary decimal(10,2) not null comment'基本工资',
    -> month int not null comment'月份',
    -> allowances decimal(10,2) not null default 0 comment'补贴',
    -> foreign key (userID) references user(id) on delete cascade);
Query OK, 0 rows affected (0.04 sec)
查看salary表
mysql> desc salary;
+------------+---------------+------+-----+---------+----------------+
| Field      | Type          | Null | Key | Default | Extra          |
+------------+---------------+------+-----+---------+----------------+
| id         | int           | NO   | PRI | NULL    | auto_increment |
| userID     | int           | NO   | MUL | NULL    |                |
| baseSalary | decimal(10,2) | NO   |     | NULL    |                |
| month      | int           | NO   |     | NULL    |                |
| allowances | decimal(10,2) | NO   |     | 0.00    |                |
+------------+---------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

三、修改表

1、在上面员工表的基本上增加一个image列,类型是blob,长度255。

mysql> alter table user add image blob(255);
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0



结果

mysql> desc user;
+------------+----------+------+-----+---------+----------------+
| Field      | Type     | Null | Key | Default | Extra          |
+------------+----------+------+-----+---------+----------------+
| id         | int      | NO   | PRI | NULL    | auto_increment |
| NAME       | char(20) | NO   |     | NULL    |                |
| gender     | char(4)  | NO   |     | NULL    |                |
| birthday   | date     | YES  |     | NULL    |                |
| entry_date | date     | NO   |     | NULL    |                |
| job        | char(30) | NO   |     | NULL    |                |
| image      | tinyblob | YES  |     | NULL    |                |
+------------+----------+------+-----+---------+----------------+
7 rows in set (0.00 sec)

2、修改job列,使其长度为60。

mysql> alter table user modify job varchar(60);
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

#结果

mysql> desc user;
+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| id         | int         | NO   | PRI | NULL    | auto_increment |
| NAME       | char(20)    | NO   |     | NULL    |                |
| gender     | char(4)     | NO   |     | NULL    |                |
| birthday   | date        | YES  |     | NULL    |                |
| entry_date | date        | NO   |     | NULL    |                |
| job        | varchar(60) | YES  |     | NULL    |                |
| image      | tinyblob    | YES  |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)

3、删除gender列。

mysql> alter table user drop gender;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

#结果

mysql> desc user;
+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| id         | int         | NO   | PRI | NULL    | auto_increment |
| NAME       | char(20)    | NO   |     | NULL    |                |
| birthday   | date        | YES  |     | NULL    |                |
| entry_date | date        | NO   |     | NULL    |                |
| job        | varchar(60) | YES  |     | NULL    |                |
| image      | tinyblob    | YES  |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)

4、表名salary改为usersalary。

mysql> alter table salary rename usersalary;
Query OK, 0 rows affected (0.01 sec)

也可以使用rename table salary to usersalary;命令来修改表名。

5、修改表的字符集为utf8;

mysql> alter table user default character set utf8 collate utf8_general_ci;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

6、列名NAME修改为username

mysql> alter table user change NAME  username char(20) not null;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc user;
+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| id         | int         | NO   | PRI | NULL    | auto_increment |
| username   | char(20)    | NO   |     | NULL    |                |
| birthday   | date        | YES  |     | NULL    |                |
| entry_date | date        | NO   |     | NULL    |                |
| job        | varchar(60) | YES  |     | NULL    |                |
| image      | tinyblob    | YES  |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值