mysql基本用法 增删改查

进入数据库

安装过程跳过,直接进入数据库

[root@zheng ~]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.7.30 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, 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> 

数据库基本语句

查询数据库

show

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

进入mysql名字哪个数据库

use

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

查询mysql数据库的表

刚才已经use这个数据库了,所以直接查询就可以

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |

如果想查询别的数据库的信息要重新use到别的数据库,这样很麻烦
可以在这个数据库直接查询另一个数据库的表,不用重新进入

在mysql数据库下查询sys数据库下的表

mysql> show tables from sys;
+-----------------------------------------------+
| Tables_in_sys                                 |
+-----------------------------------------------+
| host_summary                                  |
| host_summary_by_file_io                       |
| host_summary_by_file_io_type                  |
| host_summary_by_stages                        |
| host_summary_by_statement_latency             |

查询当前数据库

mysql> select database();
+------------+
| database() |
+------------+
| sys        |
+------------+
1 row in set (0.00 sec)

创建表 create

创建一个学生信息表
表名为 stuinfo
学号 为 int 类型
名字为 字符型 ,字符个数为20个
性别 为单个字符
生日 类型为datetime

mysql> create table stuinfo(
    ->  stuid int,
    -> stuname varchar(20),
    -> gender char,
    -> borndate datetime);
Query OK, 0 rows affected (0.05 sec)

查询创建表成功了吗

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| stuinfo        |
+----------------+
1 row in set (0.00 sec)

查看表的描述

mysql> desc stuinfo;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| stuid    | int(11)     | YES  |     | NULL    |       |
| stuname  | varchar(20) | YES  |     | NULL    |       |
| gender   | char(1)     | YES  |     | NULL    |       |
| borndate | datetime    | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

插入表数据 insert

mysql> insert into stuinfo values(1,'史森明','男','2000-6-21');
ERROR 1366 (HY000): Incorrect string value: '\xE5\x8F\xB2\xE6\xA3\xAE...' for column 'stuname' at row 1
检查字段状态

报错了,先检查一下字段的状态

mysql> show full columns from stuinfo;
+----------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| Field    | Type        | Collation         | Null | Key | Default | Extra | Privileges                      | Comment |
+----------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| stuid    | int(11)     | NULL              | YES  |     | NULL    |       | select,insert,update,references |         |
| stuname  | varchar(20) | latin1_swedish_ci | YES  |     | NULL    |       | select,insert,update,references |         |
| gender   | char(1)     | latin1_swedish_ci | YES  |     | NULL    |       | select,insert,update,references |         |
| borndate | datetime    | NULL              | YES  |     | NULL    |       | select,insert,update,references |         |
+----------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
4 rows in set (0.00 sec)

在这里插入图片描述

修改字段字符编码 alter

这个不支持中文,所以要把这两个改成utf8

mysql> alter table stuinfo change stuname stuname varchar(25) character set utf8 collate utf8_unicode_ci not null default '';
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table stuinfo change stuname name varchar(25) character set utf8 collate utf8_unicode_ci not null default '';
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

重新检查字段状态

mysql> show full columns from stuinfo;
+----------+-------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| Field    | Type        | Collation       | Null | Key | Default | Extra | Privileges                      | Comment |
+----------+-------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| stuid    | int(11)     | NULL            | YES  |     | NULL    |       | select,insert,update,references |         |
| name     | varchar(25) | utf8_unicode_ci | NO   |     |         |       | select,insert,update,references |         |
| gender   | char(1)     | utf8_unicode_ci | NO   |     |         |       | select,insert,update,references |         |
| borndate | datetime    | NULL            | YES  |     | NULL    |       | select,insert,update,references |         |
+----------+-------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
4 rows in set (0.00 sec)

然后重新插入表数据

mysql> insert into stuinfo values(1,'史森明','男','1999-03-03');
Query OK, 1 row affected (0.00 sec)

mysql> insert into stuinfo values('1','uzi','男','1997-04-05');
Query OK, 1 row affected (0.00 sec)

mysql> insert into stuinfo values('2','史森明','男','1998-12-22');
Query OK, 1 row affected (0.00 sec)

查看表的信息

mysql> select * from stuinfo;
+-------+-----------+--------+---------------------+
| stuid | name      | gender | borndate            |
+-------+-----------+--------+---------------------+
|     1 | 史森明    || 1999-03-03 00:00:00 |
|     1 | uzi       || 1997-04-05 00:00:00 |
|     2 | 史森明    || 1998-12-22 00:00:00 |
+-------+-----------+--------+---------------------+
3 rows in set (0.00 sec)

修改表数据 update

之前插入数据的时候出错,stuid 和名字都 重了,需要修改
修改名字的时候要注意,选择字段以后还要选择在哪里
不选择就会把这个字段的所有数据都修改

mysql> update stuinfo set name='小虎';
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> select * from stuinfo;
+-------+--------+--------+---------------------+
| stuid | name   | gender | borndate            |
+-------+--------+--------+---------------------+
|     1 | 小虎   || 1999-03-03 00:00:00 |
|     1 | 小虎   || 1997-04-05 00:00:00 |
|     2 | 小虎   || 1998-12-22 00:00:00 |
+-------+--------+--------+---------------------+

修改name为史森明,在stuid =2的地方修改

mysql> update stuinfo set name='史森明' where stuid = 2;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from stuinfo;
+-------+-----------+--------+---------------------+
| stuid | name      | gender | borndate            |
+-------+-----------+--------+---------------------+
|     1 | 小虎      || 1999-03-03 00:00:00 |
|     1 | 小虎      || 1997-04-05 00:00:00 |
|     2 | 史森明    || 1998-12-22 00:00:00 |
+-------+-----------+--------+---------------------+

修改name为uzi 在 brondate=1997-04-05的地方修改

mysql> update stuinfo set name='uzi'  where borndate = '1997-04-05';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from stuinfo;
+-------+-----------+--------+---------------------+
| stuid | name      | gender | borndate            |
+-------+-----------+--------+---------------------+
|     1 | 小虎      || 1999-03-03 00:00:00 |
|     1 | uzi       || 1997-04-05 00:00:00 |
|     2 | 史森明    || 1998-12-22 00:00:00 |
+-------+-----------+--------+---------------------+

接下来就依次修改就好了

mysql> update stuinfo set stuid = '2' where name = 'uzi';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> update stuinfo set stuid = '3' where name = '史森明';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from stuinfo;
+-------+-----------+--------+---------------------+
| stuid | name      | gender | borndate            |
+-------+-----------+--------+---------------------+
|     1 | 小虎      || 1999-03-03 00:00:00 |
|     2 | uzi       || 1997-04-05 00:00:00 |
|     3 | 史森明    || 1998-12-22 00:00:00 |
+-------+-----------+--------+---------------------+

删除表数据 delete

先插入一个没用的数据,然后再删除

mysql> insert into stuinfo values(4,'Loken','女','2021-04-09');
Query OK, 1 row affected (0.00 sec)

mysql> select * from stuinfo;
+-------+-----------+--------+---------------------+
| stuid | name      | gender | borndate            |
+-------+-----------+--------+---------------------+
|     1 | 小虎      || 1999-03-03 00:00:00 |
|     2 | uzi       || 1997-04-05 00:00:00 |
|     3 | 史森明    || 1998-12-22 00:00:00 |
|     4 | Loken     || 2021-04-09 00:00:00 |
+-------+-----------+--------+---------------------+

delete删除掉插入的数据

mysql> delete from stuinfo where stuid = '4';
Query OK, 1 row affected (0.00 sec)

mysql> select * from stuinfo;
+-------+-----------+--------+---------------------+
| stuid | name      | gender | borndate            |
+-------+-----------+--------+---------------------+
|     1 | 小虎      || 1999-03-03 00:00:00 |
|     2 | uzi       || 1997-04-05 00:00:00 |
|     3 | 史森明    || 1998-12-22 00:00:00 |
+-------+-----------+--------+---------------------+

修改表结构 alter

在表中添加一个email新字段,类型varchar(20)
add column 添加新字段

mysql> alter table stuinfo add column email varchar(20);
Query OK, 0 rows affected (0.07 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc stuinfo;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| stuid    | int(11)     | YES  |     | NULL    |       |
| name     | varchar(25) | NO   |     |         |       |
| gender   | char(1)     | NO   |     |         |       |
| borndate | datetime    | YES  |     | NULL    |       |
| email    | varchar(20) | YES  |     | NULL    |       |

删除表 drop

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| stuinfo        |
+----------------+
1 row in set (0.00 sec)

mysql> drop table stuinfo;
Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
Empty set (0.00 sec)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C# VS2012 86系统 mysql-5.5.27-win32 功能:利用动软代码生成器 从 数据库表或者视图中生成 的三层结构代码 实现 数据增删改查。 如果可以,请下载资源中 修改 的动软代码生成器 C#模板生成 1、由于之前使用 动软生成 java 网页源码,比较成功,此处编写C#程序时沿用,感觉更加适合。 2、直接调用动软的相关dll和生成的三层代码,可以较快的实现增删改查操作。 3、由于一些dll版本的问题及动软生成器自身的一些不完善,产生了一些问题并查找了挺久,所以把可以实现的版本发布出来共享。 前提: 使用的是 mysql数据库时才可能会出现以下问题 问题: 1、MySql.Data.dll 必须是5.6.1以上版本,否则会出现 “向信号量添加给定计数将导致其超出它的最大计数” 的问题。 2、动软代码生成时,必须增加该命名空间 using MySql.Data.MySqlClient; 3、动软代码必须修改 “工具”-“选项”弹出窗 后,点击 ”代码生成设置“-”字段类型映射“-”参数符号“中删除 mysql @,添加mysql ? 4、如果不修改3的设置,在增删改时 参数设置会失败。 5、mysql保存或者修改时,中文会出现乱码,这时必须 在DbHelperMySQL类的 连接字中增加Charset=utf8;即 protected static string connectionString = "Server=localhost;User Id=root;Password=root;Persist Security Info=True;Database=mnzfz;Charset=utf8;"; 6、如果要在局域网中远程访问,请 修改 mysql 权限:grant select,update,insert,delete on *.* to 'root'@'192.168.0.1' identified by "123456";

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值