Mysql 数据库的基本语法
使用Python自带下载Mysql:
pip install mysql
pip3 install mysql
- Mysql是关系型数据库
- mysql : 库 > 表格 > 数据
连接数据库
mysql -u用户名 -p密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.23-0ubuntu0.16.04.1-log (Ubuntu)
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> # 出现 'mysql>' 则进入了mysql
配置远程连接 可以在其他设备链接数据库
- 修改配置文件
退出mysql的交互模式 \q
sudo subl / etc/mysql/mysql.conf.d/mysql.cnf
注释掉 bind-address 127.0.0.1
保存 - 进入数据库
grant all on \*.* to 用户名@'%' identified by '密码' with grant option;
刷新服务
flush privileges;
- 退出数据库
\q
- 重启mysql
sudo service mysql restart
- 主意:查看服务器的IP地址
ifconfig #Linx系统下查看IP地址 ipconfig #Windows系统下查看IP地址
在windows下 测试能不能在cmd 中 ping ip
5. 打开连接软件 新建连接地址 输入ip 和密码进行测试
—
步骤:
- 连接数据库
mysql -u用户名 -p密码
- 查看所有的库
show databases;
- 创建库
create database 库名 default charset=utf-8;
- 删除数据库 铭感操作 操作需谨慎
drop database 库名;
- 打开并进入指定的库
mysql > use stu;
数据库的基本操作
- 创建一个库
mysql> create database yangyujie default charset=utf8;
Query OK, 1 row affected (0.04 sec) # 成功创建一个库
- 查看当前有多少个库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
| wangzhe |
| yangyujie |
| yyj |
+--------------------+
6 rows in set (0.00 sec) # 找到六条数据
- 删除库,敏感操作,慎用
mysql> drop database wangzhe;
Query OK, 1 row affected (0.17 sec) #成功删除一个库
- 切换数据库
mysql> use yangyujie;
Database changed # 切换成功(库转换)
- 查看库内的表格
mysql> show tables;
Empty set (0.00 sec) # 因为是新创建的库,所以没有表格,后面我们使用其他库(yyj)
- 查看见表语句
mysql> show create table yang\G; #yang为表名 \G格式化
*************************** 1. row ***************************
Table: yang
Create Table: CREATE TABLE `yang` (
`title` varchar(100) default NULL,
`zan` varchar(10) default NULL,
`content` varchar(255) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
- 创建一个表
# 每个表中必须有一个主键
mysql> create table class(
id int(10) unsigned not null auto_increment primary key,
classname varchar(30)
)default charset=utf8;
Query OK, 0 rows affected (0.24 sec)
- 查看表结构
mysql> desc class; #Null 是否为空
+-----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| classname | varchar(30) | YES | | NULL | |
+-----------+------------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
- 删除表格
mysql> drop table class;
Query OK, 0 rows affected (0.01 sec)
表格内数据增删改查基本操作
- 插入数据
mysql> insert into user(id,username,sex,phone) values(2,'xiaoming','18','17601314872');
Query OK, 1 row affected (0.07 sec)
- 查看数据
mysql> select * from user; #user为表名 查询所有信息
+----+----------+------+-------------+
| id | username | sex | phone |
+----+----------+------+-------------+
| 2 | xiaoming | 18 | 17601314872 |
+----+----------+------+-------------+
1 row in set (0.00 sec)
- where 条件查询
# select * from user where 字段=值;
mysql> select * from user where id<5;
+----+----------+------+-------------+
| id | username | sex | phone |
+----+----------+------+-------------+
| 2 | xiaoming | 18 | 17601314872 |
| 4 | xiaohong | 25 | 17601314872 |
+----+----------+------+-------------+
2 rows in set (0.00 sec)
- 更新数据
# 将表中的所有名字改成yuer
mysql> update user set username='yuer';
Query OK, 3 rows affected (0.06 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> select * from user;
+----+----------+------+-------------+
| id | username | sex | phone |
+----+----------+------+-------------+
| 2 | yuer | 18 | 17601314872 |
| 4 | yuer | 25 | 17601314872 |
| 9 | yuer | 30 | 17601314872 |
+----+----------+------+-------------+
3 rows in set (0.00 sec)
# 将ID为4的名字改成jie
mysql> update user set username='jie' where id=4;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from user;
+----+----------+------+-------------+
| id | username | sex | phone |
+----+----------+------+-------------+
| 2 | yuer | 18 | 17601314872 |
| 4 | jie | 25 | 17601314872 |
| 9 | yuer | 30 | 17601314872 |
+----+----------+------+-------------+
3 rows in set (0.00 sec)
- 删除数据
# 删除用户名为jie的数据
mysql> delete from user where username='jie';
Query OK, 1 row affected (0.02 sec)
mysql> select * from user;
+----+----------+------+-------------+
| id | username | sex | phone |
+----+----------+------+-------------+
| 2 | yuer | 18 | 17601314872 |
| 9 | yuer | 30 | 17601314872 |
+----+----------+------+-------------+
2 rows in set (0.00 sec)
总结:
- 库的操作:
- 连接数据库
mysql -u用户名 -p密码;
- 查看所有ku
show databases;
- 创建库
create database 库名 default charset=utf8;
- 打开并进入到指定的库
use 库名;
- 删库
drop database 库名;
- 表的操作
- 查看所有的表
show tables;
- 创建新的表
create table 表名(字段名 字段类型 字段约束, 字段名 字段类型, 字段约束)default charset=utf8;
- 查看见表语句查看见表语句
show create table 表名;
- 查看表结构
desc 表名; 或 desc 表名\G;
- 删除表
drop table 表名;
- 数据的操作
- 添加数据
insert into 表名(字段) values(值),(值);
- 查询指定数据
select * from 表名 where 字段=值;
- 修改指定数据
update 表名 set 字段名=值 where 字段名=值;
- 删除指定数据
delete from 表名 where 字段名=值;