create-table-as-select.td 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # Copyright Materialize, Inc. and contributors. All rights reserved.
  2. #
  3. # Use of this software is governed by the Business Source License
  4. # included in the LICENSE file at the root of this repository.
  5. #
  6. # As of the Change Date specified in that file, in accordance with
  7. # the Business Source License, use of this software will be governed
  8. # by the Apache License, Version 2.0.
  9. > CREATE SECRET mysqlpass AS '${arg.mysql-root-password}'
  10. > CREATE CONNECTION myconn TO MYSQL (
  11. HOST mysql,
  12. USER root,
  13. PASSWORD SECRET mysqlpass
  14. )
  15. $ mysql-connect name=mysql url=mysql://root@mysql password=${arg.mysql-root-password}
  16. $ mysql-execute name=mysql
  17. DROP DATABASE IF EXISTS public;
  18. CREATE DATABASE public;
  19. USE public;
  20. CREATE TABLE foo (id INTEGER PRIMARY KEY, val INTEGER);
  21. INSERT INTO foo VALUES (1, 11), (2,22), (3,33);
  22. COMMIT;
  23. > CREATE SOURCE mysrc FROM MYSQL CONNECTION myconn FOR TABLES (public.foo);
  24. > SELECT * FROM foo;
  25. 1 11
  26. 2 22
  27. 3 33
  28. $ mysql-execute name=mysql
  29. USE public;
  30. CREATE TABLE bar SELECT * FROM foo;
  31. CREATE TABLE charlie TABLE foo;
  32. CREATE TABLE moo AS SELECT * FROM (VALUES ROW(1,2,3), ROW(4,5,6)) AS v;
  33. CREATE TABLE lou(id INTEGER, val INTEGER) partition by hash(id) SELECT * FROM foo;
  34. > SELECT * FROM foo;
  35. 1 11
  36. 2 22
  37. 3 33