这个是目录
转到===>数据库基础操作大全可查看数据库操作基础。
欢迎界面
在登录mysql后,都会弹出一段欢迎和说明
[root@linux ~]# mysql -uroot -ptest.com
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 11
Server version: 8.0.13 Source distribution
Copyright (c) 2000, 2018, 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:[警告]在命令行界面上使用密码可能是不安全的。
这个是因为在shell环境中输入mysql管理员密码不安全,所以弹出一条提示
第二行段:欢迎使用MySQL监视器。命令以;结尾;或\ g。
这个是命令结束符,以;或\G结尾,如果以\G结尾,是按行输出,如同以下格式
mysql> show databases\G
*************************** 1. row ***************************
数据1
*************************** 2. row ***************************
...
第三段:客户端连接ID,记录了MySQL服务目前为止的连接次数,每个新连接都会自动加1,我的就是11次连接。
第四段:MySQL服务器版本说明,像我的就是MySQL8.0.13的源代码版本。
第五段:版权声明,多达数命令行中都有版权声明,例如:windows中的DOS。MySQL中说的就是版权所有© 2000, 2018, Oracle和/或其附属公司。保留所有权利。
第六段:关于所属公司的说明,甲骨文是甲骨文公司和/或其注册商标子公司。其他名称可能是其各自的商标的主人。
第七段:命令帮助,输入“help;”或“\h”以寻求帮助。键入“\c”以清除当前输入语句。
数据库命令行
mysql>
这个很熟悉吧,命令行嘛,在其后面输入SQL语句,然后加上结束符号;或\G,然后回车执行。
语句成功提示
当你输入完成一条正确的SQL语句后,都会弹出一条执行成功的提示
Query OK, 1 row affected (0.11 sec)
疑问来了,为什么创建或删除时,也会弹出这个查询OK的字样,而不是create OK,drop OK。其实这是MySQL的一个特点,所有的DDL和DML(不包括SELECT)操作执行成功后都显示“Query OK”,这里理解为执行成功就可以了。
“1 row affected”:表示操作只影响了数据库中的一行记录。
“(0.11 sec)”:记录了操作执行的时间
如果语句执行错误,则会输出ERROR字样,语句不会执行。
读取表信息提示
不清楚这是什么?你仔细看看,是不是这个
mysql> use test;
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
提示读取库和表内容,可以使用-A将其关闭,使其更快的启动。
直接-A就可以了吗,不不不,你要退出数据库,在登录的使用加上此选项。
mysql -u root -ptest.com -A
...
mysql> use test;
Database changed
这样提示信息就莫得了。
查看表详细内容
虽说使用desc可以查看表结构,但更详细还得使用show create table 表名啊,不过查看起来不太放便的样子,我们可以让其按行的方式显示。
mysql> show create table staff;
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| staff | CREATE TABLE `staff` (
`id` int(20) DEFAULT NULL,
`name` char(40) DEFAULT NULL,
`age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
直接在语句结尾加上\G即可。
mysql> show create table staff\G
*************************** 1. row ***************************
Table: staff
Create Table: CREATE TABLE `staff` (
`id` int(20) DEFAULT NULL,
`name` char(40) DEFAULT NULL,
`age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
解读:
Table:表名
Create Table:创建表名命令
ENGINE:存储引擎
CHARSET:字符集
报错提示
平时输入错误几条语句还是很正常的,这个时候要能知道,到底是哪里的错误。
mysql> ls;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ls' at line 1
错误1064(42000):你有一个错误的SQL语法;检查MySQL服务器版本对应的手册中第1行“ls”附近使用的语法是否正确。
mysql> create database test;
ERROR 1007 (HY000): Can't create database 'test'; database exists
错误1007 (HY000):无法创建数据库“测试”;数据库存在
mysql> create table staff;
ERROR 1113 (42000): A table must have at least 1 column
错误1113(42000):一个表必须至少有一个列
mysql> insert staff (6,六,66);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '6,六,66)' at line 1
错误1064(42000):你有一个错误的SQL语法;检查手册对应于你的MySQL服务器版本的语法使用附近的6六,66)在行1
等等,这些都是常见错误,你可以看到,这些错误都有ERROR字样,并且后面带有一串数字,这就是MySQL中错误的序号。
为什么要数据分类?
1.有效的利用存储空间,可以根据实际情况使用数据类型,以最少的存储存放最多的数据。
2.通过数据分类将相同类型联系在一起,防止运算时出错。常见错误:字符和数字相加。
3.使数据库管理系统通过数据类型来操作数据。
详细说明转到==>MySQL中的数据类型和字段属性都是啥啊 (数据类型与属性说明)
数据类型后面的()是个啥?
对于数值后面的(),在不同的数据类型中,有着不同的意义。起初我以为只是一个范围,后来发现,事情不是想象中的那么简单。在有些数据类型中,的确是如此,而对于有些数据类型,那就不是这么回事了。
详细说明转到==>MySQL创建表时,数据类型后面的()是个啥?
存储引擎是什么玩意?
在数据库中,存储引擎是数据库中的底层套件,在创建表中使用,指定通过何种引擎存储数据,MySQL数据库默认使用的存储引擎为InnoDB。
不同的存储引擎有不同的存储机制,并且支持的功能也不相同。
详细说明转到==>MySQL存储引擎是什么?有什么用?
字符集呢?
字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
计算机要准确的处理各种字符集文字,就需要进行字符编码,以便计算机能够识别和存储各种文字。
详细说明转到==>MySQL中的字符集是啥?如何更改?
一句话说明外键约束
MySQL的外键约束用来在两个表数据之间建立链接,其中一张表的一个字段被另一张表中对应的字段约束,也就是说,设置外键约束至少要有两种表,被约束的表叫做从表(子表),另一张叫做主表(父表),属于主从关系。
外键约束主要作用就是能够让表与表之间的数据建立关联,使数据更加完整,关联性更强。
详细说明转到==>MySQL外键约束(FOREIGN KEY)是什么?
啥是索引
在关系数据库中,索引是对数据库表中指定字段的一种存储结构。索引也是一张表,表中存储着索引的字段值和该值所在的物理位置。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
详细说明转到==>MySQL索引(INDEX)是什么?
事务事务
事务(Transaction)一般是指要做的或所做的事情。数据库事务(Database Transaction)是由SQL语句组成的逻辑处理单元。一个事务是一条SQL语句或一组SQL语句组成的。事务中的SQL语句就是一个整体,事务中语句全部正确,执行事务,若有一条出错,则事务中的语句全部不执行。
详细说明转到==>MySQL事务(TRANSACTION)是什么?
二进制日志的使用
MySQL二进制日志(Binary Log,简称binlog)记录着数据库中所有更新数据的SQL语句,也就是数据库的增,删,改操作语句,将其写入到二进制日志中,以时间的形式保存。
详细说明转到==>MySQL二进制日志(BINARY LOG)说明及使用
连接Navicat Premium
详细说明转到==>Navicat Premium12连接MySQL8.0版本