数据库|【数据库】MySQL基本操作(基操~)



一、登陆mysql
命令:

mysql -uroot -p

Enter password:Welcome to the MySQL monitor.Commands end with ; or \g.Your MySQL connection id is 8Server version: 5.7.13 MySQL Community Server (GPL)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help; ' or '\h' for help. Type '\c' to clear the current input statement.

#输入密码
#欢迎界面,提示:mysql命令以“;”或者“\g”结尾
#链接mysql次数(每登陆一次,id+1)
#mysql版本
#权益
#帮助说明
二、基本语法:
1、注释方式:
mysql> SELECT 1+1; # 这个注释直到该行结束
mysql> SELECT 1+1; -- 这个注释直到该行结束
mysql> SELECT 1/*这是一个在行中间的注释 */ + 1;
2、获得帮助:
「1」层次帮助
mysql> ? contents--注意:?和contents之间有一个空格。
结果如下:
mysql> ? contents
You asked for help about help category: "Contents"
For more information, type 'help ', where is one of the following
categories:
Account Management
Administration
Compound Statements
Data Definition
Data Manipulation
Data Types
……


mysql> ? data types; --查看支持的数据类型
结果如下:
mysql> ? data types;
You asked for help about help category: "Data Types"
For more information, type 'help ', where is one of the following
topics:
AUTO_INCREMENT
BIGINT
BINARY
BIT
BLOB
……



mysql> ? int--查看int类型的具体介绍
结果如下:
mysql> ? int
Name: 'INT'
Description:
INT[(M)] [UNSIGNED] [ZEROFILL]

A normal-size integer. The signed range is -2147483648 to 2147483647.
The unsigned range is 0 to 4294967295.

URL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html


练习:
查看char类型和varchar类型的说明,并分析char和varchar的存储区别。
命令如下:
mysql> ? char
Name: 'CHAR'
Description:
[NATIONAL] CHAR[(M)] [CHARACTER SET charset_name] [COLLATE
collation_name]

A fixed-length string that is always right-padded with spaces to the
specified length when stored. M represents the column length in
characters. The range of M is 0 to 255. If M is omitted, the length is
1.

*Note*:

Trailing spaces are removed when CHAR values are retrieved unless the
PAD_CHAR_TO_FULL_LENGTH SQL mode is enabled.

URL: https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html


mysql> ? varchar
Name: 'VARCHAR'
Description:
[NATIONAL] VARCHAR(M) [CHARACTER SET charset_name] [COLLATE
collation_name]

A variable-length string. M represents the maximum column length in
characters. The range of M is 0 to 65,535. The effective maximum length
of a VARCHAR is subject to the maximum row size (65,535 bytes, which is
shared among all columns) and the character set used. For example, utf8
characters can require up to three bytes per character, so a VARCHAR
column that uses the utf8 character set can be declared to be a maximum
of 21,844 characters. See
https://dev.mysql.com/doc/refman/8.0/en/column-count-limit.html.

MySQL stores VARCHAR values as a 1-byte or 2-byte length prefix plus
data. The length prefix indicates the number of bytes in the value. A
VARCHAR column uses one length byte if values require no more than 255
bytes, two length bytes if values may require more than 255 bytes.

*Note*:

MySQL follows the standard SQL specification, and does not remove
trailing spaces from VARCHAR values.

VARCHAR is shorthand for CHARACTER VARYING. NATIONAL VARCHAR is the
standard SQL way to define that a VARCHAR column should use some
predefined character set. MySQL uses utf8 as this predefined character
set. https://dev.mysql.com/doc/refman/8.0/en/charset-national.html.
NVARCHAR is shorthand for NATIONAL VARCHAR.

URL: https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html

区别如下:
在MySQL中,char和varchar都是用来存储字符串的,区别在于char有固定的长度,而varchar属于可变长的字符类型。



「2」快速查阅帮助
实际使用中,可以通过使用关键字进行快速查询。
执行如下命令:
mysql> ? show
mysql> ? create database;
请写出create databases命令的语法:
数据库|【数据库】MySQL基本操作(基操~)
文章图片



三、熟悉系统数据库
1、显示系统数据库
mysql> show databases;
显示结果如下(写出系统数据库名字):
数据库|【数据库】MySQL基本操作(基操~)
文章图片


2、选择mysql数据库
mysql> use mysql;
数据库|【数据库】MySQL基本操作(基操~)
文章图片


3、显示mysql数据库中所有表格
mysql> show tables;
数据库|【数据库】MySQL基本操作(基操~)
文章图片


mysqls数据库中有多少张表格?

mysql数据库里有37张不同的表格,通过show tables命令查看当前数据库中的表格
4、查看user表结构
mysql> desc user;
数据库|【数据库】MySQL基本操作(基操~)
文章图片

数据库|【数据库】MySQL基本操作(基操~)
文章图片


user表格有多少个字段?
有6个字段
5、通过user表查看系统的用户信息
mysql>select user from user;
user表中登记了多少个用户?请写出所有用户名。
数据库|【数据库】MySQL基本操作(基操~)
文章图片



6、执行如下命令,写出结果并解释其功能:
mysql> select host,user,password_last_changed from user;
结果:
数据库|【数据库】MySQL基本操作(基操~)
文章图片






功能:

7、使用命令查看db表中所有用户(user)的查询权限(select_priv)。
命令:
数据库|【数据库】MySQL基本操作(基操~)
文章图片





四、创建数据库
创建数据库语法:create database dbname;
1、使用命令创建数据库jxgl
命令如下:

数据库|【数据库】MySQL基本操作(基操~)
文章图片



2、在jxgl数据库中创建如下表格:
Student表结构
字段名称
数据类型
长度
精度
小数位数
是否允许Null值
说明
Sno
Char
10
0
0

学号,主码
Sname
Varchar
8
0
0

姓名
Ssex
Char
2
0
0

性别,取值:男或女
Sbirthday
Date
8
0
0

出生日期
Sdept
Char
16
0
0

系名
Speciality
Varchar
20
0
0

专业名
创建student表命令如下:
数据库|【数据库】MySQL基本操作(基操~)
文章图片





(2)Course表(课程名称表)的表结构
字段名称
数据类型
长度
精度
小数位数
是否允许Null值
说明
Cno
Char
5
0
0

课程号,主码
Cname
Varchar
20
0
0

课程名

创建Course表命令如下:
数据库|【数据库】MySQL基本操作(基操~)
文章图片






(3)SC表(成绩表)的表结构
字段名称
数据类型
长度
精度
小数位数
是否允许Null值
说明
Sno
Char
10
0
0

学号,外码
Cno
Char
5
0
0

课程号,外码
Degree
Decimal
5
5
1

成绩,0~100之间

创建SC表命令如下:

数据库|【数据库】MySQL基本操作(基操~)
文章图片







3、使用show命令显示jxgl数据库中所有的表格。
命令如下:
数据库|【数据库】MySQL基本操作(基操~)
文章图片



4、使用desc命令显示student表结构:
命令如下:


结果如下:
数据库|【数据库】MySQL基本操作(基操~)
文章图片





五、数据导入导出
1、将jxgl数据库中数据导出sql文档
输入的命令行:
cd ~/Desktop
mysqldump -u root -p jxgl> jxgl.sql
输入后会让你输入进入MySQL的密码,如果导出单张表的话在数据库名后面输入表名即可。




2、导入jxgl数据库
(1)登陆mysql服务器
mysql –uroot –p --登陆mysql服务器
mysql>create database jxgl; --创建jxgl数据库
mysql> source jxgl.sql--执行source命令(执行jxgl.sql中的sql代码)

数据库|【数据库】MySQL基本操作(基操~)
文章图片




【数据库|【数据库】MySQL基本操作(基操~)】

    推荐阅读