MySql数据操作(一)

0.创建数据库:create database golang;


1. 查询展示 数据库: show databases;
2. 进入某一数据库查询数据: use 数据库名称;
3. 查询展示当前数据库的表: show tables;
4. 如果没有表,可以创建,那么创建表的命令是:create tables 【users—表名称】 (内部是字段名称 字段类型 字段容量)

mysql -u root -p;

输入密码

create database school;

// 创建数据库 school

show databases 

// 查看数据库是否创建成功


//使用当前数据库
use school;


// 创建一个class表
CREATE TABLE class (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255), `email` varchar(255), 
  `score` tinyint(4), 
   PRIMARY KEY (`id`)
);

//查看是否创建成功
describe class;

模拟创建一张users表格 class表格,并且输入默认字段:

create table users(
    username varchar(20),
    sex int(1),
    status int(2),
);

模拟创建一张class表格 ,并且设置id为主键

CREATE TABLE class (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255), `email` varchar(255), 
  `score` tinyint(4), 
   PRIMARY KEY (`id`)
);

5.查询创建的表是否成功;describe users; 当前的users表结构的字段展示详情。


6.插入单条数据,命令:insert into users(username,sex,status)values("xiaoxiao",1,1);

 INSERT INTO `class` VALUES (1, '张三', 'itying@qq.com', 89);

INSERT INTO `class` VALUES (1, '张三', 'itying@qq.com', 89); 

报错: ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1  

解决方案: 

根据错误提示 “ERROR 1366 (HY000): Incorrect string value: ‘\xD0\xA1\xC3\xC3’ for column ‘name’ at row 1”,看起来在插入数据时遇到了字符编码的问题。

这个错误通常是由于字符集不匹配引起的。请确保数据库的字符集与要插入的数据的字符集一致。

尝试执行以下两个步骤来解决问题:

  1. 设置数据库字符集:使用以下语句将数据库字符集设置为适当的字符集(如 UTF8):

    ALTER DATABASE your_database_name CHARACTER SET utf8;
    

    将 “your_database_name” 替换为你的实际数据库名称。

  2. 设置表字符集:使用以下语句将表字符集设置为与数据库字符集相同的字符集:

    ALTER TABLE class CONVERT TO CHARACTER SET utf8;
    

    将 “class” 替换为你的实际表名。

执行完这两个步骤后,再次尝试插入数据,看是否可以成功插入。

如果问题仍然存在,可能是输入的字符串包含无法在当前字符集中表示的特定字符。你可以尝试使用不同的字符集,或对插入的字符串进行适当的编码或转换。


6-1.插入多条数据,命令:

INSERT INTO `class` VALUES (1, '张三', '88888@qq.com', 89);
INSERT INTO `class` VALUES (2, '李四', '441@qq.com', 87);
INSERT INTO `class` VALUES (3, '王五', 'nodejs@qq.com', 98);
INSERT INTO `class` VALUES (4, '赵四', 'js@qq.com', 59);
INSERT INTO `class` VALUES (5, '小牛', '888@qq.com', 66);
INSERT INTO `class` VALUES (6, '小王', '999@hotmail.com', 88);
INSERT INTO `class` VALUES (7, '沈浪', 'golang@163.com', 55);


7.查询当前的表数据是否成功:select * from users;


7-1.带有查询条件查询某一条数据: select * from users where username="xiaoxiao";
备注: 如果当前有多条筛选条件那么就要在 where语句后面空格继续加入新的条件 
    例如: select * from users where username="xiaoxiao"and status="2";
    
8.更改插入数据的某一条:update users set status = 10 where username="www";

 

 
9.删除指定的数据:delete from users where username= "xiaoxiao";

10.统计表数据量:select count(1) from users;

11.查询具体具体字段具体的数据条数: select username,sex,status from users limit 2;
11-1. select sex,status from users limit 2;
    在SQL查询中,LIMIT关键字用于限制查询结果的返回数量。它的语法是 LIMIT row_count。
    row_count 是指要返回的记录数量。例如,LIMIT 2 表示返回2条记录。
    因此, SELECT id, name FROM users LIMIT 2 查询将返回表"users"中的前2条记录。

12. 删除数据库,数据表的命令:drop database 库名; drop table news;
 

另外补充说明:

如果你想在 “class” 表中插入一行数据,并且表中有两列(“id” 和 “name” 列),可以使用以下语法:

INSERT INTO class (id, name)
VALUES ("xiao", "da");

上述语句将在 “class” 表中插入一行数据,其中 “id” 列的值为 “xiao”,“name” 列的值为 “da”。

注意,插入语句使用的是单个 “VALUES” 子句,用于同时指定每一列的值。

如果你想同时插入多行数据,可以使用多个 “VALUES” 子句或者使用批量插入的方式。

如果你想插入多个值到 “name” 列,你可以使用以下语法:

INSERT INTO class (name)
VALUES ("xiao"), ("da"), ("er");

上述语句将在 “class” 表的 “name” 列中插入三个值:“xiao”、“da” 和 “er”。

请确保表名和列名与实际的数据库结构相匹配,并提供正确的插入值和数据类型。

如果插入数据报错: 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' 这样的基本都是存储字段类型不对。

直接执行:

alter  database school character set utf8; // 设置数据库存储类型

alter table class convert to character set utf8;// 设置表格存储字段类型转义文字 utf-8格式

// 再一次输入 插入数据 insert into`class` values (1, '张三', 'itying@qq.com', 89);

如果控制台输出:Query OK, 1 row affected (0.01 sec) 表示创建成功插入一条数据。

 以上就是关于 mysql 基础操作了,还有一些常用的简单函数方法就不一一解说了,可以自己查看一官方文档或者其他博主的介绍。

希望我的笔记给与你学习中的你有帮助!加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

匠造一知识

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值