mysql與devinfo MySQL操作例項

2021-10-20 22:51:34 字數 4908 閱讀 3246

本文介紹mysql的簡單操作。

連線資料庫

安裝 mysql 客戶端:

1sudo apt install mysql-client-core-5.7

命令列:

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

注:不同使用者連線,看到的資料庫亦不同。

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

mysql>

在mysql>後即可輸入sql語句。sql語句使用分號「;」作為結束符號。

退出mysql命令列:

1exit

資料庫操作

資料庫、表

檢視資料庫:

10mysql> show databases;

| database |

| information_schema |

| mysql |

| performance_schema |

| sys |

4 rows in set (0.00 sec)

建立資料庫,名稱為mydb:

2mysql> create database mydb;

選擇mydb資料庫:

1mysql> use mydb;

建立資料表user:

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資料表字段內容:

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表插入資料:

12mysql> insert into `user` (`id`, `email`, `first_name`, `last_name`, `username`)

values(0,'[email protected]','late','lee','latelee');

// 自增情況下,不輸入id

mysql> insert into `user` (`email`, `first_name`, `last_name`, `username`)

values('[email protected]','late','lee','foobar');

// 注:網上有說法id預設自增為2,但測試未發現

todo:

有針對地插入資料

預設所有字段

檢視已經插入了的資料:

7mysql> select * from user;

| id | email | first_name | last_name | username |

| 0 | [email protected] | 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;

改更新資料:

3mysql> update user set email='[email protected]' where username='foobar';

mysql> update user set email='[email protected]', first_name='kent' where username='foobar';

查查找倒數10條記錄:

2select top 10 * from [dbo].[realtimedata] order by i desc; // sqlserver

select * from realtimedata order by id desc limit 10; // mysql

其它欄位為中文:

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)

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 新版本密碼配置連線問題。

解決: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;

mysql與安全 mysql許可權與安全

一 mysql許可權系統通過兩個階段進行認證 a 對使用者進行身份認證,ip位址和使用者名稱聯合,b 對合法使用者賦予相應許可權,許可權表在資料庫啟動的時候載入記憶體中。二 在許可權的訪問過程中,會用到 mysql 資料庫中的user host和db這3個許可權表。兩階段驗證過程 a user表中 ...

mysql控制代碼 MySQL與控制代碼 MySQL

bitscn.com 1.環境 os win 2003 server x86 db mysql 5.1.30 community log 2.問題 mysql server占用的控制代碼數過大,使用過程消費控制代碼速度比釋放速度來的快,部分其他應用申請不到控制代碼,導致不可用。2.1.handle ...

mysql教程 mysql事務與mysql儲存引擎

事務概念及儲存引擎 1.0為何要事務?先來看乙個場景,銀行轉賬匯款 李彥巨集和周鴻?天天打架,現在讓李彥巨集給周鴻?轉款1000元 設計如下表 account表 編號 id 使用者名稱 user 金額 cash 1 李彥巨集 3000 2 周鴻?2000 傳統的做法 mysql update acc...