1、客户端命令mysql
格局
mysql [OPTIONS] [database]
罕用选项
-u, --user=username:用户名,默认为root;-h, --host=hostname:近程主机(即mysql服务器)地址,默认为localhost; 客户端连贯服务端,服务器会反解客户的IP为主机名,敞开此性能(skip_name_resolve=ON);-p, --password[=PASSWORD]:USERNAME所示意的用户的明码; 默认为空;-P, --port=#:mysql服务器监听的端口;默认为3306/tcp;-S, --socket=/PATH/TO/mysql.sock:套按字文件门路;-D, --database=DB_name:连贯到服务器端之后,设定其处指明的数据库为默认数据库;-e, --execute='SQL STATEMENT':连贯至服务器并让其执行此命令后间接返回;
注:在下面的选项中,选项和参数之间能够不应用空格离开。
示例登录MySQL
glc@LAPTOP-LEMON:~$ mysql -uadmin -pEnter password:Welcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 45Server version: 10.3.31-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
2、查看客户端常见命令
MariaDB [(none)]> helpGeneral information about MariaDB can be found athttp://mariadb.orgList of all MySQL commands:Note that all text commands must be first on line and end with ';'? (\?) Synonym for `help'. # 查看帮忙clear (\c) Clear the current input statement. # 清空以后输出的语句connect (\r) Reconnect to the server. Optional arguments are db and host. # 从新连贯服务器delimiter (\d) Set statement delimiter. # 设置语句分隔符(结束符),默认为分号';'edit (\e) Edit command with $EDITOR. # 编辑命令ego (\G) Send command to mysql server, display result vertically. # 发送命令至服务器,垂直显示后果exit (\q) Exit mysql. Same as quit. # 退出go (\g) Send command to mysql server. # 发送命令至服务器help (\h) Display this help. # 查看帮忙quit (\q) Quit mysql. # 退出source (\.) Execute an SQL script file. Takes a file name as an argument. # 读取SQL脚本system (\!) Execute a system shell command. # 执行shell命令tee (\T) Set outfile [to_outfile]. Append everything into given outfile. # 设置输入文件use (\u) Use another database. Takes database name as argument. # 指定数据库charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets. # 指定字符集warnings (\W) Show warnings after every statement. # 显示正告信息nowarning (\w) Don't show warnings after every statement. # 不显示正告信息
查看mysql服务端帮忙信息,可应用help Contents
:
MariaDB [(none)]> help contentsYou asked for help about help category: "Contents"For more information, type 'help <item>', where <item> is one of the followingcategories: Account Management # 账户治理语句 Administration # 管理员 Compound Statements Data Definition # 数据定义语句 Data Manipulation # 数据操作语句 Data Types # 数据类型 Functions # 函数 Functions and Modifiers for Use with GROUP BY Geographic Features Help Metadata Language Structure Plugins Procedures Table Maintenance Transactions User-Defined Functions Utility
要查看某一类命令或者某繁多命令应用,均可应用help KEYWORD
查看,例如:
MariaDB [(none)]> help Data Definition;You asked for help about help category: "Data Definition"For more information, type 'help <item>', where <item> is one of the followingtopics: ALTER DATABASE ALTER EVENT ALTER FUNCTION ... RENAME TABLE TRUNCATE TABLE
MariaDB [(none)]> help CREATE TABLE;Name: 'CREATE TABLE'Description:Syntax:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] [partition_options]Or:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [partition_options] select_statementOr:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | (LIKE old_tbl_name) }...
3、数据类型
主动增长类型
AUTO_INCREMENT
字符型:
char/binary varchar/varbinary text/ngtext/blob/ediumblob/longblob set/enum
数值型
int/tinyint/smallint/mediumint/bigint decimal float/double
日期型
date/time/datetime/timestamp/year(2,4)
4、常见数据库治理语句
4.1、操作数据库
抉择数据库
USE db_name
创立
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name; [DEFAULT] CHARACTER SET [=] charset_name # 设置字符集 [DEFAULT] COLLATE [=] collation_name # 设置排序形式 SHOW CHARACTER SET # 查看反对的所有的字符集SHOW COLLATION # 查看反对的所有排序形式
批改
ALTER {DATABASE | SCHEMA} [db_name]
删除
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
查看
SHOW {DATABASES | SCHEMAS} [LIKE 'pattern' | WHERE expr]
4.2、表治理
创立
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) # 字段定义 [table_options] # 数据表的根本设置 [partition_options] # 宰割选项
批改
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name [alter_specification [, alter_specification] ...] [partition_options]
删除
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE]
4.3、DML数据操作语言
查看
SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr ...] [FROM table_references [WHERE where_condition] [GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]] [HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ...] [LIMIT {[offset,] row_count | row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] [INTO OUTFILE 'file_name' [CHARACTER SET charset_name] export_options | INTO DUMPFILE 'file_name' | INTO var_name [, var_name]] [FOR UPDATE | LOCK IN SHARE MODE]]
插入
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr] ... ]
删除
Single-table syntax:DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]Multiple-table syntax:DELETE [LOW_PRIORITY] [QUICK] [IGNORE] tbl_name[.*] [, tbl_name[.*]] ... FROM table_references [WHERE where_condition]
批改
Single-table syntax:UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ... [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]Multiple-table syntax:UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ... [WHERE where_condition]
5、权限治理(账户治理)
创立用户
CREATE USER user_specification [, user_specification] ...user_specification: user [ IDENTIFIED BY [PASSWORD] 'password' | IDENTIFIED WITH auth_plugin [AS 'auth_string'] ]
删除用户
DROP USER user [, user] ...
向用户受权
GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level TO user_specification [, user_specification] ... [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}] [WITH with_option ...]GRANT PROXY ON user_specification TO user_specification [, user_specification] ... [WITH GRANT OPTION]
勾销受权或者调整权限
REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level FROM user [, user] ...REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...REVOKE PROXY ON user FROM user [, user] ...