mysql commands
发布日期:2021-10-25 13:14:38 浏览次数:8 分类:技术文章

本文共 11031 字,大约阅读时间需要 36 分钟。


 

This is a list of handy MySQL commands that I use time and time again. At the bottom are statements, clauses, and functions you can use in MySQL. Below that are PHP and Perl API functions you can use to interface with MySQL. To use those you will need to build PHP with MySQL functionality. To use MySQL with Perl you will need to use the Perl modules DBI and DBD::mysql.

Below when you see # it means from the unix shell. When you see mysql> it means from a MySQL prompt after logging into MySQL.

To login (from unix shell) use -h only if needed.

# [mysql dir]/bin/mysql -h hostname -u root -p

Create a database on the sql server.

mysql> create database [databasename];

List all databases on the sql server.

mysql> show databases;

Switch to a database.

mysql> use [db name];

To see all the tables in the db.

mysql> show tables;

To see database's field formats.

mysql> describe [table name];

To delete a db.

mysql> drop database [database name];

To delete a table.

mysql> drop table [table name];

Show all data in a table.

mysql> SELECT * FROM [table name];

Returns the columns and column information pertaining to the designated table.

mysql> show columns from [table name];

Show certain selected rows with the value "whatever".

mysql> SELECT * FROM [table name] WHERE [field name] = "whatever";

Show all records containing the name "Bob" AND the phone number '3444444'.

mysql> SELECT * FROM [table name] WHERE name = "Bob" AND phone_number = '3444444';

Show all records not containing the name "Bob" AND the phone number '3444444' order by the phone_number field.

mysql> SELECT * FROM [table name] WHERE name != "Bob" AND phone_number = '3444444' order by phone_number;

Show all records starting with the letters 'bob' AND the phone number '3444444'.

mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444';

Show all records starting with the letters 'bob' AND the phone number '3444444' limit to records 1 through 5.

mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444' limit 1,5;

Use a regular expression to find records. Use "REGEXP BINARY" to force case-sensitivity. This finds any record beginning with a.

mysql> SELECT * FROM [table name] WHERE rec RLIKE "^a";

Show unique records.

mysql> SELECT DISTINCT [column name] FROM [table name];

Show selected records sorted in an ascending (asc) or descending (desc).

mysql> SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;

Return number of rows.

mysql> SELECT COUNT(*) FROM [table name];

Sum column.

mysql> SELECT SUM(*) FROM [table name];

Join tables on common columns.

mysql> select lookup.illustrationid, lookup.personid,person.birthday from lookup left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id;

Creating a new user. Login as root. Switch to the MySQL db. Make the user. Update privs.

# mysql -u root -p

mysql> use mysql;
mysql> INSERT INTO user (Host,User,Password) VALUES('%','username',PASSWORD('password'));
mysql> flush privileges;

Change a users password from unix shell.

# [mysql dir]/bin/mysqladmin -u username -h hostname.blah.org -p password 'new-password'

Change a users password from MySQL prompt. Login as root. Set the password. Update privs.

# mysql -u root -p

mysql> SET PASSWORD FOR 'user'@'hostname' = PASSWORD('passwordhere');
mysql> flush privileges;

Recover a MySQL root password. Stop the MySQL server process. Start again with no grant tables. Login to MySQL as root. Set new password. Exit MySQL and restart MySQL server.

# /etc/init.d/mysql stop

# mysqld_safe --skip-grant-tables &
# mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("newrootpassword") where User='root';
mysql> flush privileges;
mysql> quit
# /etc/init.d/mysql stop
# /etc/init.d/mysql start

Set a root password if there is on root password.

# mysqladmin -u root password newpassword

Update a root password.

# mysqladmin -u root -p oldpassword newpassword

Allow the user "bob" to connect to the server from localhost using the password "passwd". Login as root. Switch to the MySQL db. Give privs. Update privs.

# mysql -u root -p

mysql> use mysql;
mysql> grant usage on *.* to bob@localhost identified by 'passwd';
mysql> flush privileges;

Give user privilages for a db. Login as root. Switch to the MySQL db. Grant privs. Update privs.

# mysql -u root -p

mysql> use mysql;
mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','databasename','username','Y','Y','Y','Y','Y','N');
mysql> flush privileges; 
or 
mysql> grant all privileges on databasename.* to username@localhost;
mysql> flush privileges;

To update info already in a table.

mysql> UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = 'user';

Delete a row(s) from a table.

mysql> DELETE from [table name] where [field name] = 'whatever';

Update database permissions/privilages.

mysql> flush privileges;

Delete a column.

mysql> alter table [table name] drop column [column name];

Add a new column to db.

mysql> alter table [table name] add column [new column name] varchar (20);

Change column name.

mysql> alter table [table name] change [old column name] [new column name] varchar (50);

Make a unique column so you get no dupes.

mysql> alter table [table name] add unique ([column name]);

Make a column bigger.

mysql> alter table [table name] modify [column name] VARCHAR(3);

Delete unique from table.

mysql> alter table [table name] drop index [colmn name];

Load a CSV file into a table.

mysql> LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3);

Dump all databases for backup. Backup file is sql commands to recreate all db's.

# [mysql dir]/bin/mysqldump -u root -ppassword --opt >/tmp/alldatabases.sql

Dump one database for backup.

# [mysql dir]/bin/mysqldump -u username -ppassword --databases databasename >/tmp/databasename.sql

Dump a table from a database.

# [mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql

Restore database (or database table) from backup.

# [mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql

Create Table Example 1.

mysql> CREATE TABLE [table name] (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35),suffix VARCHAR(3),officeid VARCHAR(10),userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255));

Create Table Example 2.

mysql> create table [table name] (personid int(50) not null auto_increment primary key,firstname varchar(35),middlename varchar(50),lastnamevarchar(50) default 'bato');

MYSQL Statements and clauses

ALTER DATABASEALTER TABLEALTER VIEWANALYZE TABLEBACKUP TABLECACHE INDEXCHANGE MASTER TOCHECK TABLECHECKSUM TABLECOMMITCREATE DATABASECREATE INDEXCREATE TABLECREATE VIEWDELETEDESCRIBEDODROP DATABASEDROP INDEXDROP TABLEDROP USERDROP VIEWEXPLAINFLUSHGRANTHANDLERINSERTJOINKILLLOAD DATA FROM MASTERLOAD DATA INFILELOAD INDEX INTO CACHELOAD TABLE...FROM MASTERLOCK TABLESOPTIMIZE TABLEPURGE MASTER LOGSRENAME TABLEREPAIR TABLEREPLACERESETRESET MASTERRESET SLAVERESTORE TABLEREVOKEROLLBACKROLLBACK TO SAVEPOINTSAVEPOINTSELECTSETSET PASSWORDSET SQL_LOG_BINSET TRANSACTIONSHOW BINLOG EVENTSSHOW CHARACTER SETSHOW COLLATIONSHOW COLUMNSSHOW CREATE DATABASESHOW CREATE TABLESHOW CREATE VIEWSHOW DATABASESSHOW ENGINESSHOW ERRORSSHOW GRANTSSHOW INDEXSHOW INNODB STATUSSHOW LOGSSHOW MASTER LOGSSHOW MASTER STATUSSHOW PRIVILEGESSHOW PROCESSLISTSHOW SLAVE HOSTSSHOW SLAVE STATUSSHOW STATUSSHOW TABLE STATUSSHOW TABLESSHOW VARIABLESSHOW WARNINGSSTART SLAVESTART TRANSACTIONSTOP SLAVETRUNCATE TABLEUNIONUNLOCK TABLESUSE

String Functions

AES_DECRYPTAES_ENCRYPTASCIIBINBINARYBIT_LENGTHCHARCHAR_LENGTHCHARACTER_LENGTHCOMPRESSCONCATCONCAT_WSCONVDECODEDES_DECRYPTDES_ENCRYPTELTENCODEENCRYPTEXPORT_SETFIELDFIND_IN_SETHEXINET_ATONINET_NTOAINSERTINSTRLCASELEFTLENGTHLOAD_FILELOCATELOWERLPADLTRIMMAKE_SETMATCH    AGAINSTMD5MIDOCTOCTET_LENGTHOLD_PASSWORDORDPASSWORDPOSITIONQUOTEREPEATREPLACEREVERSERIGHTRPADRTRIMSHASHA1SOUNDEXSPACESTRCMPSUBSTRINGSUBSTRING_INDEXTRIMUCASEUNCOMPRESSUNCOMPRESSED_LENGTHUNHEXUPPER

Date and Time Functions

ADDDATEADDTIMECONVERT_TZCURDATECURRENT_DATECURRENT_TIMECURRENT_TIMESTAMPCURTIMEDATEDATE_ADDDATE_FORMATDATE_SUBDATEDIFFDAYDAYNAMEDAYOFMONTHDAYOFWEEKDAYOFYEAREXTRACTFROM_DAYSFROM_UNIXTIMEGET_FORMATHOURLAST_DAYLOCALTIMELOCALTIMESTAMPMAKEDATEMAKETIMEMICROSECONDMINUTEMONTHMONTHNAMENOWPERIOD_ADDPERIOD_DIFFQUARTERSEC_TO_TIMESECONDSTR_TO_DATESUBDATESUBTIMESYSDATETIMETIMEDIFFTIMESTAMPTIMESTAMPDIFFTIMESTAMPADDTIME_FORMATTIME_TO_SECTO_DAYSUNIX_TIMESTAMPUTC_DATEUTC_TIMEUTC_TIMESTAMPWEEKWEEKDAYWEEKOFYEARYEARYEARWEEK

Mathematical and Aggregate Functions

ABSACOSASINATANATAN2AVGBIT_ANDBIT_ORBIT_XORCEILCEILINGCOSCOTCOUNTCRC32DEGREESEXPFLOORFORMATGREATESTGROUP_CONCATLEASTLNLOGLOG2LOG10MAXMINMODPIPOWPOWERRADIANSRANDROUNDSIGNSINSQRTSTDSTDDEVSUMTANTRUNCATEVARIANCE

Flow Control Functions

CASEIFIFNULLNULLIF

Command-Line Utilities

comp_errisamchkmake_binary_distributionmsql2mysqlmy_print_defaultsmyisamchkmyisamlogmyisampackmysqlaccessmysqladminmysqlbinlogmysqlbugmysqlcheckmysqldumpmysqldumpslowmysqlhotcopymysqlimportmysqlshowperror

Perl API - using functions and methods built into the Perl DBI with MySQL

available_driversbegin_workbind_colbind_columnsbind_parambind_param_arraybind_param_inoutcanclonecolumn_infocommitconnectconnect_cacheddata_sourcesdisconnectdodump_resultserrerrstrexecuteexecute_arrayexecute_for_fetchfetchfetchall_arrayreffetchall_hashreffetchrow_arrayfetchrow_arrayreffetchrow_hashreffinishforeign_key_infofuncget_infoinstalled_versionslast_insert_idlooks_like_numberneatneat_listparse_dsnparse_trace_flagparse_trace_flagspingprepareprepare_cachedprimary_keyprimary_key_infoquotequote_identifierrollbackrowsselectall_arrayrefselectall_hashrefselectcol_arrayrefselectrow_arrayselectrow_arrayrefselectrow_hashrefset_errstatetable_infotable_info_alltablestracetrace_msgtype_infotype_info_allAttributes for Handles

PHP API - using functions built into PHP with MySQL

mysql_affected_rowsmysql_change_usermysql_client_encodingmysql_closemysql_connectmysql_create_dbmysql_data_seekmysql_db_namemysql_db_querymysql_drop_dbmysql_errnomysql_errormysql_escape_stringmysql_fetch_arraymysql_fetch_assocmysql_fetch_fieldmysql_fetch_lengthsmysql_fetch_objectmysql_fetch_rowmysql_field_flagsmysql_field_lenmysql_field_namemysql_field_seekmysql_field_tablemysql_field_typemysql_free_resultmysql_get_client_infomysql_get_host_infomysql_get_proto_infomysql_get_server_infomysql_infomysql_insert_idmysql_list_dbsmysql_list_fieldsmysql_list_processesmysql_list_tablesmysql_num_fieldsmysql_num_rowsmysql_pconnectmysql_pingmysql_querymysql_real_escape_stringmysql_resultmysql_select_dbmysql_statmysql_tablenamemysql_thread_idmysql_unbuffered_query

 

转载于:https://www.cnblogs.com/threef/p/3271855.html

转载地址:https://blog.csdn.net/weixin_30909575/article/details/99064875 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:BZOJ 1060: [ZJOI2007]时态同步
下一篇:选择排序

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月06日 02时28分35秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

大厂都在用的MySQL主从复制、读写分离及高可用方案 2019-04-27
高可用架构设计(0) - 导读 2019-04-27
高可用的微服务架构设计-资源隔离、限流、熔断、降级、监控 2019-04-27
高可用架构设计(3) -电商商品详情页缓存背景及框架说明 2019-04-27
高可用服务架构设计(8) - 基于hystrix的线程池隔离技术进行商品服务接口的资源隔离 2019-04-27
高可用架构(10)-Hystrix隔离策略、Command及资源池大小控制 2019-04-27
SpringCloud - Hystrix的执行流程 2019-04-27
高可用后端架构设计实战-利用request cache请求缓存优化批量查询接口 2019-04-27
大厂互联网电商基于本地缓存的fallback降级机制 2019-04-27
高可用服务架构设计(14) - 深入理解hystrix的断路器执行原理以及模拟接口异常时的短路实验 2019-04-27
15_深入理解线程池隔离技术的设计原则以及动手实战接口限流实验 2019-04-27
高可用服务架构设计(16) - 基于timeout机制来为商品服务接口的调用超时提供安全保护 2019-04-27
高可用服务架构设计(17) - 基于Hystrix的高可用分布式系统架构设计的总结 2019-04-27
电商详情页系统实战(1) - 简介 2019-04-27
电商详情页系统实战(2) -小型电商网站商品详情页的页面静态化架构及缺陷 2019-04-27
电商详情页系统实战(3) - 大型电商网站的异步多级缓存构建+nginx数据本地化动态渲染的架构 2019-04-27
电商详情页系统实战(4) - 支撑高并发+高可用+海量数据+备份恢复的redis的重要性 2019-04-27
Flink实战(四) - DataSet API编程 2019-04-27
网络协议的意义 2019-04-27
Flink实战(五) - DataStream API编程 2019-04-27