mysql与devinfo_MySQL操作实例

本文介绍MySQL的简单操作。

连接数据库

安装 mysql 客户端:

1sudo apt install mysql-client-core-5.7

命令行:

1

2

3

4

5mysql -uroot -p123456

mysql -h latelee.org -P 3305 -ulatelee -p1qaz@WSX

mysql -h latelee.org -P 3305 -uroot -p1qaz@WSX**>>

mysql -h 127.0.0.1 -P 3306 -u root -p123456

注:不同用户连接,看到的数据库亦不同。

如成功会提示:

1

2

3Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

在mysql>后即可输入sql语句。sql语句使用分号“;”作为结束符号。

退出mysql命令行:

1exit

数据库操作

数据库、表

查看数据库:

1

2

3

4

5

6

7

8

9

10mysql> SHOW DATABASES;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

4 rows in set (0.00 sec)

创建数据库,名称为mydb:

1

2mysql> CREATE DATABASE mydb;

选择mydb数据库:

1mysql> USE mydb;

创建数据表user:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19mysql> CREATE TABLE `user` (

`id` bigint(20) NOT NULL,

`email` varchar(255) DEFAULT NULL,

`first_name` varchar(255) DEFAULT NULL,

`last_name` varchar(255) DEFAULT NULL,

`username` varchar(255) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

// id值为自增

mysql> CREATE TABLE `user` (

`id` bigint(20) NOT NULL AUTO_INCREMENT,

`email` varchar(255) DEFAULT NULL,

`first_name` varchar(255) DEFAULT NULL,

`last_name` varchar(255) DEFAULT NULL,

`username` varchar(255) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

查看user数据表字段内容:

1

2

3

4

5

6

7

8

9

10

11mysql> DESC user;

+------------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+------------+--------------+------+-----+---------+-------+

| id | bigint(20) | NO | PRI | NULL | |

| email | varchar(255) | YES | | NULL | |

| first_name | varchar(255) | YES | | NULL | |

| last_name | varchar(255) | YES | | NULL | |

| username | varchar(255) | YES | | NULL | |

+------------+--------------+------+-----+---------+-------+

5 rows in set (0.02 sec)

往user表插入数据:

1

2

3

4

5

6

7

8

9

10

11

12mysql> INSERT INTO `user` (`id`, `email`, `first_name`, `last_name`, `username`)

VALUES(0,'li@latelee.org','Late','Lee','latelee');

// 自增情况下,不输入ID

mysql> INSERT INTO `user` (`email`, `first_name`, `last_name`, `username`)

VALUES('li@latelee.org','Late','Lee','foobar');

// 注:网上有说法id默认自增为2,但测试未发现

TODO:

有针对地插入数据

默认所有字段

查看已经插入了的数据:

1

2

3

4

5

6

7mysql> SELECT * FROM user;

+----+----------------+------------+-----------+----------+

| id | email | first_name | last_name | username |

+----+----------------+------------+-----------+----------+

| 0 | li@latelee.org | Late | Lee | latelee |

+----+----------------+------------+-----------+----------+

1 row in set (0.00 sec)

删除user表所有数据:

1mysql> DELETE FROM user;

删除user数据表:

1mysql> DROP TABLE user;

删除数据库mydb:

1mysql> DROP DATABASE mydb;

更新数据:

1

2

3mysql> UPDATE user SET email='you@163.com' WHERE username='foobar';

mysql> UPDATE user SET email='you11@163.com', first_name='Kent' WHERE username='foobar';

查询倒数10条记录:

1

2SELECT top 10 * FROM [dbo].[RealTimeData] ORDER BY i desc; // sqlserver

SELECT * FROM RealTimeData ORDER BY id desc limit 10; // mysql

其它

字段为中文:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20mysql> CREATE TABLE `userc` (

`信息id` bigint(20) NOT NULL AUTO_INCREMENT,

`邮箱地址` varchar(255) DEFAULT NULL,

`名` varchar(255) DEFAULT NULL,

`姓` varchar(255) DEFAULT NULL,

`姓名` varchar(255) DEFAULT NULL,

PRIMARY KEY (`信息id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

mysql> desc userc;

+--------------+--------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+--------------+--------------+------+-----+---------+----------------+

| 信息id | bigint(20) | NO | PRI | NULL | auto_increment |

| 邮箱地址 | varchar(255) | YES | | NULL | |

| 名 | varchar(255) | YES | | NULL | |

| 姓 | varchar(255) | YES | | NULL | |

| 姓名 | varchar(255) | YES | | NULL | |

+--------------+--------------+------+-----+---------+----------------+

5 rows in set (0.00 sec)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38create database cameradb;

use cameradb;

CREATE TABLE `devinfo` (

`devid` varchar(16) NOT NULL,

`version` varchar(255) DEFAULT NULL,

PRIMARY KEY (`devid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DESC devinfo;

SELECT * FROM devinfo;

INSERT INTO `devinfo` (`devid`, `version`)

VALUES('sn_test001','v1.0');

INSERT INTO `devinfo` (`devid`, `version`)

VALUES('sn_test002','v1.0');

INSERT INTO `devinfo` (`devid`, `version`)

VALUES('sn_test100','v1.0');

INSERT INTO `devinfo` (`devid`, `version`)

VALUES('sn_test200','v1.0');

添加字段

末尾:

ALTER TABLE devinfo ADD ip varchar(16);

开头:

ALTER TABLE devinfo ADD netmask varchar(16) first;

指定字段后:

ALTER TABLE devinfo ADD gateway varchar(16) after devid;

删除字段

ALTER TABLE devinfo drop COLUMN ip;

积累的问题

mysql 新版本密码配置连接问题。

问题:使用 navicat 连接不了 mysql8.0,提示:2059 Authentication plugin 'caching_sha2_password' cannot be loaded。客户端版本较低,不支持。

解决:

1

2

3

4

5

6更改加密方式:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

更改密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

刷新权限:

FLUSH PRIVILEGES;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值