1. 术语介绍
- 数据库(database) : 保存有组织的数据的容器(通常是一个文件或一组文件)
- 表(table) : 某种特定类型数据的结构化清单(具有唯一性,同一数据库中表名不能相同,不同数据库可以相同)
- 模式(schema) : 关于数据库和表的布局及特性的信息
- 列(column) : 表中的一个字段,所有表都是由一个或多个列组成
- 数据类型(datatype) : 所容许的数据的类型.每个表列都有相应的数据类型,它限制该列中存储的数据
- 行(row) : 表中的一个记录
- 主键(primary key) : 一列(或一组列),其值能够唯一区分表中的每行,主键列不允许NULL值
- 关键字(key word) : MySQL语言保留字,不可用关键字命名表或列
2. SQL / DBMS / MySQL
2.1 SQL优点:
- SQL不是某个特定数据库供应商的专有语言,几乎所有重要的DBMS都支持SQL
- SQL简单易学
- SQL简单灵活,可以进行分厂复杂和高级的数据库操作
2.2 数据库管理系统DBMS
- 基于共享文件系统
- Microsoft Access / FileMarker
- 基于客户机-服务器
- MySQL / Oracle / Microsoft SQL Server
2.3 MySQL优点
- 低成本
- 高性能
- 可信赖
- 简单易用
3. MySQL工具
3.1 命令行
登录命令:
mysql -h localhost -P 3306 -uroot -p1234
注意 :
最后这个-p
和密码之间不能有空格
其他的-h
或者-u
和参数间的空格是可有可无的
登录后提示:
root\@c67b08791485:/# mysql -h localhost -P 3306 -u root -p1234
mysql: \[Warning\] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 5
Server version: 5.7.6-m16 MySQL Community Server \(GPL\)
Copyright \(c\) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.
mysql>
3.2 Navicat
其他工具,请自行Google
4. 简单SQL语句
4.1 显示所有数据库
mysql> show databases;
+\--------------------+
| Database \|
+\--------------------+
| information\_schema \|
| eladmin \|
| example \|
| lfstudio \|
| mysql \|
| performance\_schema \|
| shiro \|
| shiro2 \|
+\--------------------+
18 rows in set \(0.01 sec\)
我这里有一些自己测试的数据库
4.2 切换到指定数据库
mysql> use shiro2;
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
4.3 显示当前数据库中所有表
mysql> show tables;
+\-----------------------+
| Tables\_in\_shiro2 \|
+\-----------------------+
| base\_admin\_permission \|
| base\_admin\_role \|
| base\_admin\_user \|
+\-----------------------+
3 rows in set \(0.00 sec\)
4.4 显示指定表中所有列
mysql> show columns from base\_admin\_role;
+\-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra \|
+\-------------+--------------+------+-----+---------+----------------+
| id | int\(11\) | NO | PRI | NULL | auto\_increment \|
| role\_name | varchar\(30\) | NO | | NULL | \|
| role\_desc | varchar\(100\) | YES | | NULL | \|
| permissions | varchar\(20\) | YES | | NULL | \|
| create\_time | varchar\(64\) | YES | | NULL | \|
| update\_time | varchar\(64\) | YES | | NULL | \|
| role\_status | int\(1\) | NO | | 1 | \|
+\-------------+--------------+------+-----+---------+----------------+
7 rows in set \(0.00 sec\)
它对每个字段返回一行,行中包含字段名、数据 类型、是否允许NULL、键信息、默认值以及其他信息
mysql> describe base\_admin\_role;
+\-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra \|
+\-------------+--------------+------+-----+---------+----------------+
| id | int\(11\) | NO | PRI | NULL | auto\_increment \|
| role\_name | varchar\(30\) | NO | | NULL | \|
| role\_desc | varchar\(100\) | YES | | NULL | \|
| permissions | varchar\(20\) | YES | | NULL | \|
| create\_time | varchar\(64\) | YES | | NULL | \|
| update\_time | varchar\(64\) | YES | | NULL | \|
| role\_status | int\(1\) | NO | | 1 | \|
+\-------------+--------------+------+-----+---------+----------------+
7 rows in set \(0.00 sec\)
DESCRIBE语句 MySQL支持用DESCRIBE作为SHOW COLUMNS FROM的一种快捷方式。
换句话说,DESCRIBE base_admin_role;是 SHOW COLUMNS FROM base_admin_role;的一种快捷方式。
4.5 其他show语句
- SHOW STATUS,用于显示广泛的服务器状态信息
- SHOW CREATE DATABASE和SHOW CREATE TABLE,分别用来显示创建特定数据库或表的MySQL语句
- SHOW GRANTS,用来显示授予用户(所有用户或特定用户)的安全权限
- SHOW ERRORS和SHOW WARNINGS,用来显示服务器错误或警告消息
Tips
欢迎收藏和转发,感谢你的支持!(๑•̀ㅂ•́)و✧