列举出所有的数据库
MariaDB [(none)]> show databases;
查看当前状态和登录用户是谁,查看数据库的版本和一些其他的信息
MariaDB [mysql]> status
返回结果:
--------------
mysql Ver 15.1 Distrib 10.4.15-MariaDB, for Linux (x86_64) using readline 5.1
Connection id: 9
Current database: mysql
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.4.15-MariaDB MariaDB Server
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 1 hour 9 min 45 sec
Threads: 7 Questions: 83 Slow queries: 0 Opens: 36 Flush tables: 1 Open tables: 30 Queries per second avg: 0.019
进入某一个数据库里,比如进入mysql这个数据库里
MariaDB [(none)]> use mysql
列举出mysql里所有的表,需要先进入mysql表,use mysql
MariaDB [(none)]> show tables;
查看MySQL里的user这张表的内容,这里显示的比较乱
MariaDB [mysql]> select * from user;
可以竖排显示,这样看起来就没有那么乱了
MariaDB [mysql]> select * from user\G
专门挑出两个列来查看,查看user列和host列查看,这样看起来就整齐的很多的
MariaDB [mysql]> select user,host from user;
返回结果
+-------------+-------------+
| User | Host |
+-------------+-------------+
| | centos7.6-1 |
| | localhost |
| mariadb.sys | localhost |
| mysql | localhost |
| root | localhost |
+-------------+-------------+
5 rows in set (0.001 sec)
查看user和host和password列查看
MariaDB [mysql]> select user,host,password from user;
返回结果:
+-------------+-------------+----------+
| User | Host | Password |
+-------------+-------------+----------+
| mariadb.sys | localhost | |
| root | localhost | invalid |
| mysql | localhost | invalid |
| | localhost | |
| | centos7.6-1 | |
+-------------+-------------+----------+
5 rows in set (0.001 sec)
列举出所有查存放密码口令的地方
MariaDB [mysql]> select password,authentication_string from user;
返回结果:
+----------+-----------------------+
| Password | authentication_string |
+----------+-----------------------+
| | |
| invalid | invalid |
| invalid | invalid |
| | |
| | |
+----------+-----------------------+
5 rows in set (0.001 sec)
查看user列的名称,desc描述的意思,描述user这张表.描述一个数据表,(查看表结果)
MariaDB [mysql]> desc user;
返回结果:
+------------------------+---------------------+------+-----+----------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+---------------------+------+-----+----------+-------+
| Host | char(60) | NO | | | |
| User | char(80) | NO | | | |
| Password | longtext | YES | | NULL | |
| Select_priv | varchar(1) | YES | | NULL | |
| Insert_priv | varchar(1) | YES | | NULL | |
| Update_priv | varchar(1) | YES | | NULL | |
| Delete_priv | varchar(1) | YES | | NULL | |
| Create_priv | varchar(1) | YES | | NULL | |
| Drop_priv | varchar(1) | YES | | NULL | |
| Reload_priv | varchar(1) | YES | | NULL | |
| Shutdown_priv | varchar(1) | YES | | NULL | |
| Process_priv | varchar(1) | YES | | NULL | |
| File_priv | varchar(1) | YES | | NULL | |
| Grant_priv | varchar(1) | YES | | NULL | |
| References_priv | varchar(1) | YES | | NULL | |
| Index_priv | varchar(1) | YES | | NULL | |
| Alter_priv | varchar(1) | YES | | NULL | |
| Show_db_priv | varchar(1) | YES | | NULL | |
| Super_priv | varchar(1) | YES | | NULL | |
| Create_tmp_table_priv | varchar(1) | YES | | NULL | |
| Lock_tables_priv | varchar(1) | YES | | NULL | |
| Execute_priv | varchar(1) | YES | | NULL | |
| Repl_slave_priv | varchar(1) | YES | | NULL | |
| Repl_client_priv | varchar(1) | YES | | NULL | |
| Create_view_priv | varchar(1) | YES | | NULL | |
| Show_view_priv | varchar(1) | YES | | NULL | |
| Create_routine_priv | varchar(1) | YES | | NULL | |
| Alter_routine_priv | varchar(1) | YES | | NULL | |
| Create_user_priv | varchar(1) | YES | | NULL | |
| Event_priv | varchar(1) | YES | | NULL | |
| Trigger_priv | varchar(1) | YES | | NULL | |
| Create_tablespace_priv | varchar(1) | YES | | NULL | |
| Delete_history_priv | varchar(1) | YES | | NULL | |
| ssl_type | varchar(9) | YES | | NULL | |
| ssl_cipher | longtext | NO | | | |
| x509_issuer | longtext | NO | | | |
| x509_subject | longtext | NO | | | |
| max_questions | bigint(20) unsigned | NO | | 0 | |
| max_updates | bigint(20) unsigned | NO | | 0 | |
| max_connections | bigint(20) unsigned | NO | | 0 | |
| max_user_connections | bigint(21) | NO | | 0 | |
| plugin | longtext | NO | | | |
| authentication_string | longtext | NO | | | |
| password_expired | varchar(1) | NO | | | |
| is_role | varchar(1) | YES | | NULL | |
| default_role | longtext | NO | | | |
| max_statement_time | decimal(12,6) | NO | | 0.000000 | |
+------------------------+---------------------+------+-----+----------+-------+
删除表
drop table IF EXISTS表名;
解释
IF EXISTS
判断一个表面存不存在,如果不存在不会报错,建议把这条写上
mysql使用模式
交互模式
可运行命令分两类
客户端命令,不需要加分号;
简写命令
\h
help 帮助命令
\u
use
\s
status
!
system调用系统命令
服务端命令
SQL语句,需要语句结束符";"(分号结尾)
脚本模式
mysql -uUSERNAME -pPASSWORD </dir/somefile.sql
mysql<source /dir/somefile.sql
mysql客户端常用选项
-A
--no-auto-rehash禁止补全
-D --databses=name
指定默认登入数据库如
mysql -uroot -p -Dmysql 这里默认登入mysql这个数据库
-e --execute="name" SQL COMMAND
连接至服务器并让其执行此命令后直接返回如
mysql -uroot -p -e "show databases;"
-u --user=username
mysql用户名,默认为root
-h --host=hostanme
远程登录主机的IP或者登录主机的主机名,默认为localhost,客户端链接服务端,服务器会反解客户端的IP为主机名,一定要关闭此功能
(sklp_name_resolve=ON)
-p --password
mysql登录密码,默认为空
-P --port
mysql服务器监听的端口,默认为3306TCP
-S --socket/PATH/TO/mysql.sock
mysql套接字文件存放路径
source,导入sql脚本
首先在linux,编写一个sql的脚本,建议用sql结尾
vim /root/test.sql
写入以下内容
use mysql
select user,host from user;
进入数据库
mysql -uroot -pPASSWORD
没有密码直接输入mysql回车即可
导入sql脚本
MariaDB [(none)]> source /root/test.sql
返回结果:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
+------+-------------+
| user | host |
+------+-------------+
| root | 127.0.0.1 |
| root | ::1 |
| root | centos8.2-1 |
| root | localhost |
+------+-------------+
4 rows in set (0.000 sec)
不进入数据库,并执行内部命令
[root@CEntos8 ~]# mysql -uroot -p123456 -e '\s'
返回结果
--------------
mysql Ver 15.1 Distrib 10.3.17-MariaDB, for Linux (x86_64) using readline 5.1
Connection id: 20
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.3.17-MariaDB MariaDB Server
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 45 min 27 sec
Threads: 7 Questions: 67 Slow queries: 0 Opens: 37 Flush tables: 1 Open tables: 31 Queries per second avg: 0.024
--------------
创建一个test的数据库
create database test;
进入test的数据里
use test
在test里创建一个xg的表要求如下
d字段,11位整型,不为空,,自增,主键
usernme字段,varchar类型,20长度
assword字段,char类型32长度
create table xg( id int(11) not null auto_increment,
username varchar(20),
password char(32),
primary key(id)
);
一整行写法
create table xg( id int(11) not null auto_increment, username varchar(20), password char(32), primary key(id) );
解释:
int(整型)一般为数字,一般是正数,
not null 不许为空
auto_increment 自动递增地段名称,这个参数一般给第一个字段添加,一般第一个字段都为序号
char (定长字符)比如char(10)这个列表里最多放10个再多了就丢弃了
varchar(不定长),自动扩展
primary key (主键字段名)一般就是序号所在的那一列(主键不能重复)
create table xg 船舰的表名xg
( id int(11) not null auto_increment, id字段,11位整型,不为空,,自增,主键
username varchar(20), usernme字段,varchar类型,20长度
password char(32), password字段,char类型32长度
primary key(id) (主键字段名)一般就是序号所在的那一列(主键不能重复)
);结束
列举出test所有的表
MariaDB [test]> show tables;
返回结果
+----------------+
| Tables_in_test |
+----------------+
| xg |
+----------------+
1 row in set (0.001 sec)
描述以下xg这张表
返回结果
MariaDB [test]> desc xg;
返回结果
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| username | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
3 rows in set (0.002 sec)
增加记录
1.语法
INSERT INTO 表名称 VALUES (值1,值2,....);
2.语法
INSERT INTO 表名称(列1,列2....) VALUES (值1,值2,....);
往数据包xg表中新增一个记录username为zhangsan,lisi,wangwu,password为123456(MD5加密)(E10ADC3949BA59ABBE56E057F20F883E)
insert into xg(username,password) values('zhangsan','E10ADC3949BA59ABBE56E057F20F883E');
insert into xg(username,password) values ('lisi','E10ADC3949BA59ABBE56E057F20F883E');
insert into xg(username,password) values ('wangwu','E10ADC3949BA59ABBE56E057F20F883E');
要求前面的列名与值要一一对应,如果错误就不堪设想
查寻表记录
select 列名称1,列名称2 from 表名称 where 条件;
查询用户和密码;
MariaDB [test]> select username,password from xg;
返回结果
+----------+----------------------------------+
| username | password |
+----------+----------------------------------+
| zhangsan | E10ADC3949BA59ABBE56E057F20F883E |
| lisi | E10ADC3949BA59ABBE56E057F20F883E |
| wangwu | E10ADC3949BA59ABBE56E057F20F883E |
+----------+----------------------------------+
3 rows in set (0.001 sec)
第二种查看所有的列
MariaDB [test]> select * from xg;
返回结果
+----+----------+----------------------------------+
| id | username | password |
+----+----------+----------------------------------+
| 1 | zhangsan | E10ADC3949BA59ABBE56E057F20F883E |
| 2 | lisi | E10ADC3949BA59ABBE56E057F20F883E |
| 3 | wangwu | E10ADC3949BA59ABBE56E057F20F883E |
+----+----------+----------------------------------+
第三种查看,只查询用户名和密码,并且是id=2的
MariaDB [test]> select username,password from xg where id=2;
返回结果
+----------+----------------------------------+
| username | password |
+----------+----------------------------------+
| lisi | E10ADC3949BA59ABBE56E057F20F883E |
+----------+----------------------------------+
1 row in set (0.001 sec)
第四种,字段查看,查询usernam和password,只看username段里的zhangsan,zhangsan为字段一定要加上'zhangsan'
MariaDB [test]> select username,password from xg where username='zhangsan';
+----------+----------------------------------+
| username | password |
+----------+----------------------------------+
| zhangsan | E10ADC3949BA59ABBE56E057F20F883E |
+----------+----------------------------------+
1 row in set (0.001 sec)
更新记录
语法:update 表名称 set 列名称1 = 新值1,列名称2 = 新值2,... where 列名称 =某值;
使用更新语句更新id大于等于2的记录,将其密码改为123456789 MD5加密(25F9E794323B453885F5181F1B624D0B)
sql语句
查看Mysql支持的字符集,默认字符集是拉丁
MariaDB [(none)]> show character set;
或者
MariaDB [(none)]> show collation;
+----------+-----------------------------+---------------------+--------+
| Charset | Description | Default collation | Maxlen |
+----------+-----------------------------+---------------------+--------+
| big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
| dec8 | DEC West European | dec8_swedish_ci | 1 |
| cp850 | DOS West European | cp850_general_ci | 1 |
| hp8 | HP West European | hp8_english_ci | 1 |
| koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
| latin1 | cp1252 West European | latin1_swedish_ci | 1 |
| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
| swe7 | 7bit Swedish | swe7_swedish_ci | 1 |
| ascii | US ASCII | ascii_general_ci | 1 |
| ujis | EUC-JP Japanese | ujis_japanese_ci | 3 |
| sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 |
| hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |
| tis620 | TIS620 Thai | tis620_thai_ci | 1 |
| euckr | EUC-KR Korean | euckr_korean_ci | 2 |
| koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 |
| gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 |
| greek | ISO 8859-7 Greek | greek_general_ci | 1 |
| cp1250 | Windows Central European | cp1250_general_ci | 1 |
| gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 |
| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |
| armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |
| utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
| ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 |
| cp866 | DOS Russian | cp866_general_ci | 1 |
| keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |
| macce | Mac Central European | macce_general_ci | 1 |
| macroman | Mac West European | macroman_general_ci | 1 |
| cp852 | DOS Central European | cp852_general_ci | 1 |
| latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |
| utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 |
| cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
| utf16 | UTF-16 Unicode | utf16_general_ci | 4 |
| utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 |
| cp1256 | Windows Arabic | cp1256_general_ci | 1 |
| cp1257 | Windows Baltic | cp1257_general_ci | 1 |
| utf32 | UTF-32 Unicode | utf32_general_ci | 4 |
| binary | Binary pseudo charset | binary | 1 |
| geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |
| cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 |
| eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 |
+----------+-----------------------------+---------------------+--------+
40 rows in set (0.001 sec)