mysql的常规操作
#mysql-cli 连接数据库
shell> mysql -h localhost -P 3306 -u <username> -p<password>
shell> mysql --host=localhost -port=3306 --user=root --password=<password>
shell>mysql --host localhost --port 3306 --user root --password password
强烈建议不要在命令行中输入密码,而是将字段留空; 系统将提示您输入密码:
shell>mysql --host localhost --port 3306 --user root --password
Enter Password:
想知道谁连接:可使用whoami
离开:可使用 Ctrl + D 或输入 exit:
mysql>^D
或
mysql>exit
连接到mysql提示符后,您可以执行语句后跟分隔符。 默认分隔符是分号(;):
mysql > select 1;
取消命令:可以按crtl +c 或 \c
创建数据库:数据库的基本构建块,
mysql>mysql -u root -p
mysql> CREATE DATABASE COMPANY;
mysql> CREATE DATABASE `my.contacts`;
-- 后面的刻度字符(`)用于引用标识符,例如数据库和表名。 当数据库名称包含特殊字符时,您需要使用它,例如点(.)
-- 切换数据库
mysql> USE company;
mysql> USE `my.contacts`;
-- 您可以通过在命令行中指定数据库来直接连接到所需的数据库,而不是切换:
如:
shell> mysql -uroot -p company
-- 查询当前登陆的数据库可以用
mysql> SELECT DATABASE();
-- 查询当前用户可以访问哪些数据库
mysql > show databases;
-- 查询配置参数可以使用
mysql> SHOW VARIABLES LIKE 'DATADIR';
-- ls -lhtr 文件排序 按照详细信息大小时间排序
,例如information_schema和performance_schema。 information_schema将在获取有关数据库和表的信息部分中讨论,performance_schema 性能调优,使用performance_schema部分中讨论。
创建表:
-- mysql数据类型
-- 数字
TINYINT SMALLINT MEDIUMINT INT BIGINT 和 BIT
-- 浮点型
DECIMAL FLOAT 和 DOULBE
-- 字符串
char varchar binary varbinary blob text enum 和 set
-- 空间数据类型:
https://dev.mysql.com/doc/refman/8.0/en/spatial-extensions.html
--JSON数据类型
创建表如下
mysql>drop TABLE customers;
CREATE TABLE `customers` (
`ID` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, -- unsinged 无符号
`first_name` varchar(20) DEFAULT NULL,
`last_name` varchar(20) DEFAULT NULL,
`country` varchar(20) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB ;
--sql语句命令时,报错[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and
sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- 查看数据库的引擎
mysql> show ENGINEs;
mysql> create table 'company'.'payments'(
`customer_name` varchar(20) primary key,
`payment` float
);
-- 查看数据表列表:
mysql> show tables;
--查看建表语句
show create table payments\G
*************************** 1. row ***************************
Table: payments
Create Table: CREATE TABLE `payments` (
`customer_name` varchar(20) NOT NULL,
`payment` float DEFAULT NULL,
PRIMARY KEY (`customer_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)
--DESC payments
ls -lhtr /usr/local/mysql/data/company
查看文件
-- 复制表
create table new_customers like payments;
--验证
show create table new_customers ;