////初始密码
2021-12-01T06:09:46.383169Z 6 [Note] [MY-01045
s generated for root@localhost: jWIjy+hsC0Mm
//////修改密码
mysql> ALTER USER 'root'@'localhost' ID
23456'
-> ;
Query OK, 0 rows affected (0.22 sec)
///重新登录mysql
d:\mysql\mysql-8.0.22-winx64\bin>mysql -u root -p
Enter password: ******
/////////////一、如何在终端操作数据库
//如何查询数据库中所有的数据库
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.05 sec)
mysql>
//////如何选中一个数据库进行操作
mysql> select * from sys;
ERROR 1046 (3D000): No database selected
mysql> use sys
Database changed
mysql> select * from sys;
ERROR 1146 (42S02): Table 'sys.sys' doesn't exist
mysql>
//如何在服务器中创建数据库
mysql> create database test
-> ;
Query OK, 1 row affected (0.27
mysql> use test
Database changed
mysql> show database
-> ;
ERROR 1064 (42000): You have an
corresponds to your MySQL serve
ase' at line 1
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql>
/////如何在新数据库中创建表
mysql> create table pet (name varchar(20))
-> ;
Query OK, 0 rows affected (1.88 sec)
mysql> show tables
-> ;
+----------------+
| Tables_in_test |
+----------------+
| pet |
+----------------+
1 row in set (0.02 sec)
mysql>
////查看表的结构
mysql> describe pet
-> ;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
1 row in set (0.01 sec)
mysql>
////////////如何查看表结构中的内容
mysql> select * from pet
-> ;
Empty set (0.00 sec)
mysql>
///////////如何表中插入内容
mysql> insert into pet values ('张三');
Query OK, 1 row affected (0.11 sec)
mysql> select *from pet;
+--------+
| name |
+--------+
| 张三 |
+--------+
1 row in set (0.00 sec)
mysql>
/////////如何在表中删除数据
mysql> delete from pet where name='张三'
-> ;
Query OK, 1 row affected (0.32 sec)
mysql> select *from pet
-> ;
+--------+
| name |
+--------+
| 李四 |
| 王五 |
| 赵六 |
| 吴七 |
+--------+
4 rows in set (0.00 sec)
////////////如何修改数据
mysql> update pet set name='李四四'
-> ;
Query OK, 4 rows affected (0.25 sec)
Rows matched: 4 Changed: 4 Warnings: 0
mysql> select *from pet
-> ;
+-----------+
| name |
+-----------+
| 李四四 |
| 李四四 |
| 李四四 |
| 李四四 |
+-----------+
4 rows in set (0.00 sec)
mysql>
///如何在表中创建主键约束
mysql> create table user(id int primary key,name varchar(20));
Query OK, 0 rows affected (3.14 sec)
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| pet |
| user |
+----------------+
2 rows in set (0.01 sec)
mysql> describe user
-> ;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int | NO | PRI | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
sql> insert into user values (1,'张三');
Query OK, 1 row affected (0.25 sec)
mysql> insert into user values (1,'张三');
ERROR 1062 (23000): Duplicate entry '1' for key 'user.PRIMARY'
mysql> insert into user values (2,'张三');
Query OK, 1 row affected (0.25 sec)
mysql> select *from user;
+----+--------+
| id | name |
+----+--------+
| 1 | 张三 |
| 2 | 张三 |
+----+--------+
2 rows in set (0.00 sec)
///联合组键
mysql> create table user2(id int,name varchar(20),password varchar(20),primary k
ey (id,name));
Query OK, 0 rows affected (2.08 sec)
mysql> insert into user2 values(1,'张三','123');
Query OK, 1 row affected (0.43 sec)
mysql> select *from user2;
+----+--------+----------+
| id | name | password |
+----+--------+----------+
| 1 | 张三 | 123 |
+----+--------+----------+
1 row in set (0.00 sec)
mysql> insert into user2 values(1,'张三','123');
ERROR 1062 (23000): Duplicate entry '1-张三' for key 'user2.PRIMARY'
mysql> insert into user2 values('张三','123');
ERROR 1136 (21S01): Column count doesn't match value count at row 1
mysql>
///自增约束
mysql> create table user3(id int primary key auto_increment,name varchar(20));
Query OK, 0 rows affected (2.85 sec)
mysql> insert into user3 (name) values('张三');
Query OK, 1 row affected (0.54 sec)
mysql> insert into user3 (name) values('张三');
Query OK, 1 row affected (0.18 sec)
mysql> select *from user3;
+----+--------+
| id | name |
+----+--------+
| 1 | 张三 |
| 2 | 张三 |
+----+--------+
2 rows in set (0.00 sec)
//非空约束
mysql> create table user9(id int,name varchar(20) not null);
Query OK, 0 rows affected (1.69 sec)
mysql> desc user9;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(20) | NO | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.14 sec)
mysql> insert into user9 values(1);
ERROR 1136 (21S01): Column count doesn't match value count at row 1
mysql> insert into user9 values(1,'张三');
Query OK, 1 row affected (0.13 sec)
mysql> show table user9;
ERROR 1064 (42000): You have an error in your SQL syntax; check the ma
corresponds to your MySQL server version for the right syntax to use n
' at line 1
mysql> select *from user9;
+------+--------+
| id | name |
+------+--------+
| 1 | 张三 |
+------+--------+
1 row in set (0.00 sec)
mysql> insert into user9 (name) values('李四');
Query OK, 1 row affected (0.29 sec)
mysql> select *from user9;
+------+--------+
| id | name |
+------+--------+
| 1 | 张三 |
| NULL | 李四 |
+------+--------+
2 rows in set (0.00 sec)
mysql>
//////////////二、如何使用可视化工具操作数据库
/////////////////////如何在编程语言中操作数据库