MySQL基本命令:
登录MySQL:
mysql -u root -p
C:\WINDOWS\system32>mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.28 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, 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>
##查看当前MySQL中所有的库
库==>数据库==>就像文件夹一样,库里面可以存储很多个表
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
选择需要操作的库,打开库
use mysql;
查看当前库中所有的数据表
show tables;
查看表中的数据
# 查看user表中的所有数据的所有字段
select * from user;
# 查看 user表中的所有数据的host和user字段
select host,user from user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+---------------+
库和表的概念和关系
库就像是文件夹,库中可以有很多个表;
表就像是我们的excel表格文件一样;
每一个表中都可以存储很多数据;
mysql中可以有很多不同的库,库中可以有很多不同的表;
表中可以定义不同的列(字段),
表中可以根据结构去存储很多的数据.
创建自己的库
create database 库名 default charset=utf8;
create database test default charset=utf8;
-- Query OK, 1 row affected (0.01 sec)
-- 查看所有库
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
5 rows in set (0.00 sec)
-- 进入库
use test;
创建表
create table 表名(
字段名 类型(字段约束),
字段名 类型(字段约束),
字段名 类型(字段约束),
)engine=innodb default charset=utf8;
-- 创建user表
create table user(
name varchar(20),
age int,
sex char(1)
)engine=innodb default charset=utf8;
-- Query OK, 0 rows affected (0.08 sec)
-- 查看表
show tables;
+----------------+
| Tables_in_test |
+----------------+
| user |
+----------------+
1 row in set (0.00 sec)
-- 查看表中的数据
select * from user;
-- Empty set (0.01 sec)
添加数据
-- 向 user 表中 添加 name,age,sex 数据
insert into user(name,age,sex) values('cc',24,'女');
-- Query OK, 1 row affected (0.03 sec)
insert into user(name,age,sex) values('zxc',10,'男');
-- Query OK, 1 row affected (0.01 sec)
-- 查看表中的数据
select * from user;
+------+------+------+
| name | age | sex |
+------+------+------+
| cc | 24 | 女 |
| zxc | 10 | 男 |
+------+------+------+
2 rows in set (0.00 sec)
-- 查看表中所有数据的name字段(就是查看name那一列的所有数据)
select name from user;
+------+
| name |
+------+
| cc |
| zxc |
+------+
2 rows in set (0.00 sec)
总结:
-
认识 库和表的概念和关系;
-
mysql的基本命令:
登录,查看库,选择库,查看表,选择并查询表中的数据,
创建库,创建表,添加数据。
MySQL基础操作:
使用方法:
方式一: 通过在命令行敲命令来操作;
方式二: 通过图型界面工具,如 Navicat 等;
方式三: 通过编程语言(python,php,java,go…)执行mysql命令。
SQL ( Structure query language ) 结构化查询语言:
SQL语言分为4个部分:DDL(定义)、DML(操作)、DQL(查询)、DCL(控制)
SQL语句中的快捷键:
\G 格式化输出(文本式,竖立显示)
\s 查看服务器端信息
\c 结束命令输入操作
\q 退出当前sql命令行模式
\h 查看帮助
操作数据库的步骤:
连接, 打开库, 操作, 退出
1.连接,打开
mysql -h localhost -u root -p
- -h 服务器地址,如果地址是本机则可以不用写
- -u 登录账号
- -p 回车后输入密码,没有设置密码的话就可以直接回车进入
- -P 大写P,端口号,默认都是3306
2.数据库操作
- 查看数据库
show databases;
- 创建数据库
create database 库名 default charset=utf8;
- 删除数据库
drop database 库名;
- 打开数据库
use 库名;
3.数据表操作
数据库管理系统中, 可以有很多库, 每个数据库中可以包括多张数据表;每张数据表中,表头的每一项称为字段,每一行称为一条记录
-
查看表
show tables;
-
创建表
create table 表名(字段1 类型,字段2 类型)engine=innodb default charset=utf8;
-
创建表:如果表不存在,则创建, 如果存在就不执行这条命令:
create table if not exists 表名(字段1 类型,字段2 类型)engine=innodb default charset=utf8;
create table if not exists users( userid int not null primary key auto_increment, name varchar(4), age tinyint, sex enum('男','女') )engine=innodb default charset=utf8;
-
删除表
drop table 表名;
-
查看表结构
desc 表名;
-- 一定不要忘记带分号! desc user; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | age | int(11) | YES | | NULL | | | sex | char(1) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.01 sec)
desc users; +--------+-------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------------+------+-----+---------+----------------+ | userid | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(4) | YES | | NULL | | | age | tinyint(4) | YES | | NULL | | | sex | enum('男','女') | YES | | NULL | | +--------+-------------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
-
查看建表语句
show create table user;
show create table user; +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ | user | CREATE TABLE `user` ( `name` varchar(20) DEFAULT NULL, `age` int(11) DEFAULT NULL, `sex` char(1) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
3.数据操作:增删改查
-
插入/增加:
insert into 表名(字段1,字段2,字段3) values(值1,值2,值3); insert into 表名(字段1,字段2,字段3) values(a值1,a值2,a值3),(b值1,b值2,b值3);
-
查询:
select * from 表名; select 字段1,字段2 from 表名; select * from 表名 where 字段=某个值; select * from 表名 where 字段>某个值;
-
修改/更新:
update 表名 set 字段=值 where 条件; update 表名 set 字段1=值1,字段2=值2 where 条件; update 表名 set 字段=字段+值 where 条件;
-
删除:
delete from 表名 where 字段=值;
如果不加where,会把表中所有数据都删掉。
4.退出
exit;
或者 quit;
或者\q
数据库语法的特点:
-
SQL 语句可以换行, 要以分号结尾;
-
命令不区分大小写,关键字和函数建议用大写;
-
如果忘记敲分号,那么回车之后可以再下一行输入一个
;
然后回车,就可以正常执行命令了。例如:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g2n4nZVr-1596703686010)(D:\学习笔记\放在typora里的图片\1592720434846.png)]
-
命令打错了换行后不能修改, 可以输入 \c 然后回车,取消本次命令。
e 条件;
+ 删除:
```mysql
delete from 表名 where 字段=值;
如果不加where,会把表中所有数据都删掉。
4.退出
exit;
或者 quit;
或者\q
数据库语法的特点:
-
SQL 语句可以换行, 要以分号结尾;
-
命令不区分大小写,关键字和函数建议用大写;
-
如果忘记敲分号,那么回车之后可以再下一行输入一个
;
然后回车,就可以正常执行命令了。例如:[外链图片转存中…(img-g2n4nZVr-1596703686010)]
-
命令打错了换行后不能修改, 可以输入 \c 然后回车,取消本次命令。