本文使用docker运行MySQL,并进行简单的操作。
运行容器 本文使用的MySQL为官方镜像,版本为5.7。下载镜像命令:
使用下面的命令运行容器,并设置root密码为123456。
1 2 3 run --name hi-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql 映射端口: run --name hi-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
进入容器:
1 docker exec -it hi-mysql bash
如用docker-compose,可在 command 中指定变量:
1 command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci', '--explicit_defaults_for_timestamp=false', '--lower_case_table_names=1']
连接 mysql 容器内:
宿主机: 先安装 mysql 客户端:
1 apt install mysql-client-core-5.7
连接容器:
1 mysql -h 127.0.0.1 -P 3306 -u root -p123456
远程:
1 mysql -h 120.97.3.9 -P 3305 -u root -p123456
操作 连接成功提示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 5.7.20 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
在mysql>
后即可输入sql语句。sql语句使用分号“;”作为结束符号。
退出mysql命令行:
查看数据库:
1 2 3 4 5 6 7 8 9 10 mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
创建数据库,名称为mydb:
1 2 mysql> CREATE DATABASE mydb;
选择mydb数据库:
创建数据表user:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 mysql> CREATE TABLE `user` ( `id` bigint(20) NOT NULL, `email` varchar(255) DEFAULT NULL, `first_name` varchar(255) DEFAULT NULL, `last_name` varchar(255) DEFAULT NULL, `username` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; // id值为自增 mysql> CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `email` varchar(255) DEFAULT NULL, `first_name` varchar(255) DEFAULT NULL, `last_name` varchar(255) DEFAULT NULL, `username` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
查看user数据表字段内容:
1 2 3 4 5 6 7 8 9 10 11 mysql> DESC user; +------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+-------+ | id | bigint(20) | NO | PRI | NULL | | | email | varchar(255) | YES | | NULL | | | first_name | varchar(255) | YES | | NULL | | | last_name | varchar(255) | YES | | NULL | | | username | varchar(255) | YES | | NULL | | +------------+--------------+------+-----+---------+-------+ 5 rows in set (0.02 sec)
往user表插入数据:
1 2 3 4 5 6 7 mysql> INSERT INTO `user` (`id`, `email`, `first_name`, `last_name`, `username`) VALUES(0,'li@latelee.org','Late','Lee','latelee'); // 自增情况下,不输入ID mysql> INSERT INTO `user` (`email`, `first_name`, `last_name`, `username`) VALUES('li@latelee.org','Late','Lee','foobar'); // 注:网上有说法id默认自增为2,但测试未发现
查看已经插入了的数据:
1 2 3 4 5 6 7 mysql> SELECT * FROM user; +----+----------------+------------+-----------+----------+ | id | email | first_name | last_name | username | +----+----------------+------------+-----------+----------+ | 0 | li@latelee.org | Late | Lee | latelee | +----+----------------+------------+-----------+----------+ 1 row in set (0.00 sec)
更新数据:
1 2 3 mysql> UPDATE user SET email='you@163.com' WHERE username='foobar'; mysql> UPDATE user SET email='you11@163.com', first_name='Kent' WHERE username='foobar';
删除user表所有数据:
1 mysql> DELETE FROM user;
删除user数据表:
删除数据库mydb:
1 mysql> DROP DATABASE mydb;
查询倒数10条记录:
1 2 SELECT top 10 * FROM [dbo].[RealTimeData] ORDER BY i desc; // sqlserver SELECT * FROM RealTimeData ORDER BY id desc limit 10; // mysql
中文:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 mysql> CREATE TABLE `userc` ( `信息id` bigint(20) NOT NULL AUTO_INCREMENT, `邮箱地址` varchar(255) DEFAULT NULL, `名` varchar(255) DEFAULT NULL, `姓` varchar(255) DEFAULT NULL, `姓名` varchar(255) DEFAULT NULL, PRIMARY KEY (`信息id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; mysql> desc userc; +--------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+----------------+ | 信息id | bigint(20) | NO | PRI | NULL | auto_increment | | 邮箱地址 | varchar(255) | YES | | NULL | | | 名 | varchar(255) | YES | | NULL | | | 姓 | varchar(255) | YES | | NULL | | | 姓名 | varchar(255) | YES | | NULL | | +--------------+--------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)