最佳实践
概述
参考:
基础操作
显示当前存在哪些数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
通常 MySQL 部署成功后,都有几个默认的数据库
- information_schema
- mysql
- performance_schema
- sys
创建数据库
mysql> create database menagerie;
Query OK, 1 row affected (0.00 sec)
开始使用数据库
mysql> use menagerie
Database changed
创建表
mysql> create table pet (name VARCHAR(20), owner VARCHAR(20),species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
Query OK, 0 rows affected (0.01 sec)
显示表、查看表信息
mysql> show tables;
+---------------------+
| Tables_in_menagerie |
+---------------------+
| pet |
+---------------------+
1 row in set (0.00 sec)
mysql> describe pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
将数据加载到表中
-- 直接从文件中将数据加载表中
mysql> LOAD DATA LOCAL INFILE '/pet.txt' INTO TABLE pet;
-- 使用 SQL 语句一条一条插入数据到表中
INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
查询数据
mysql> select * from pet;
+----------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+--------+---------+------+------------+------------+
| name | owner | species | s | 0000-00-00 | 0000-00-00 |
| Fluffy | Harold | cat | f | 1993-02-04 | 0000-00-00 |
| Claws | Gwen | cat | m | 1994-03-17 | 0000-00-00 |
| Buffy | Harold | dog | f | 1989-05-13 | 0000-00-00 |
| Fang | Benny | dog | m | 1990-08-27 | 0000-00-00 |
| Bowser | Diane | dog | m | 1979-08-31 | 1995-07-29 |
| Chirpy | Gwen | bird | f | 1998-09-11 | 0000-00-00 |
| Whistler | Gwen | bird | | 1997-12-09 | 0000-00-00 |
| Slim | Benny | snake | m | 1996-04-29 | 0000-00-00 |
+----------+--------+---------+------+------------+------------+
9 rows in set (0.00 sec)
删除记录后 ID 不连续问题
使用如下指令重排 ID 即可,${table_name}
换成自己的表名
SET @i=0;
UPDATE `${table_name}` SET `id`=(@i:=@i+1);
ALTER TABLE `${table_name}` AUTO_INCREMENT=0
其他
创建一个 utf8mb4 类型的数据库
create database db2 DEFAULT CHARACTER SET utf8mb4;
创建表
CREATE TABLE students (id int UNSIGNED NOT NULL PRIMARY KEY,name VARCHAR(20)NOT NULL,age tinyint UNSIGNED);
为 emp 表添加记录(有 id,name,sex,age 字段)
insert into emp (id,name,sex,age) values(1,‘xiaoming’,’m’,30);
修改 emp 表的内容(第几行第几个字段)
update emp set age=18 where id=4;
批量执行 sql 程序
mysql < hellodb_innodb.sql
备注:也可不进入数据库的情况下查看数据库
mysql -e ‘show databases’
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.