首页 > 数据库 >MySQL

MySQL

时间:2024-02-20 22:47:32浏览次数:27  
标签:major VARCHAR name student MySQL 20 id

MySQL

创建和删除资料库

CREATE DATABASE `sql_tutorial`;  #创建资料库
SHOW DATABASES;   #展示所有资料库
DROP DATABASE `sql_tutorial`;  #删除资料库

每个完整语句后必须加分号


创建和删除表格

MySQL的一些资料形态:

INT 整数
DECIMAL(3,2) 有小数点的数 例如2.33,6.68
VARCHAR(10) 字串
BLOB 图片、影片、档案...
DATE YYYY-MM-DD 日期(2024-02-19)
TIMESTAMP YYYY-MM-DD HH:MM:SS 记录时间
CREATE DATABASE `sql_tutorial`;
SHOW DATABASES;
#使用这个资料库
USE `sql_tutorial`;  
# 创建表格名称 和 属性
CREATE TABLE `student`(
    `student_id` INT PRIMARY KEY,
    `name` VARCHAR(20),
    `major` VARCHAR(20)
);
#检查表格
DESCRIBE `student`;
#删除表格
DROP TABLE `student`;
#新增属性
ALTER TABLE `student` ADD gpa DECIMAL(3,2);
#删除属性
ALTER TABLE `student` DROP COLUMN gpa;

存储资料

CREATE DATABASE `sql_tutorial`;
SHOW DATABASES;
#使用这个资料库
USE `sql_tutorial`;  
# 创建表格名称 和 属性
CREATE TABLE `student`(
    `student_id` INT PRIMARY KEY,
    `name` VARCHAR(20),
    `major` VARCHAR(20)
);
#录入信息,要对应创建表格时的属性顺序,其他成员信息直接在下行代码修改
INSERT INTO `student` VALUES(1, '小白', '历史');
/*INSERT INTO `student` VALUES(2, '小黑', NULL);
也可以自己修改属性录入顺序:
INSERT INTO `student`(`name`, `major`, `student_id`) VALUES('小白', '历史', 1);
*/

#查看表格信息,*是指表格中所有信息
SELECT * FROM `student`;

constraints 限制 约束

NOT NULL 不能有空值

UNIQUE 不能重复

DEFAULT '历史' 预设值

AUTO_INCREMENT 自动增加

CREATE TABLE `student`(
    `student_id` INT PRIMARY KEY,
    `name` VARCHAR(20) NOT NULL, #不能有空值
    `major` VARCHAR(20) UNIQUE, #不能重复
);
CREATE TABLE `student`(
    `student_id` INT PRIMARY KEY,
    `name` VARCHAR(20),
    `major` VARCHAR(20) DEFAULT '历史' #预设值
);
INSERT INTO `student`(`student_id`, `name`) VALUES(1, '小白');
CREATE TABLE `student`(
    `student_id` INT AUTO_INCREMENT,
    `name` VARCHAR(20),
    `major` VARCHAR(20),
    PRIMARY KEY(`student_id`)
);
INSERT INTO `student`(`major`, `name`) VALUES('历史', '小白');

修改 删除 资料

先把workbench预设的更新模式关闭:

set SQL save update = 0

set SQL save update = 0

CREATE TABLE `student`(
    `student_id` INT AUTO_INCREMENT,
    `name` VARCHAR(20),
    `major` VARCHAR(20),
    `score` INT,
    PRIMARY KEY(`student_id`)
);
INSERT INTO `student`(`name`, `major`, `score`) VALUES('小白', '历史', '90');

#修改信息(已经事先录好信息)
UPDATE `student`
SET `major` = '历史'
WHERE `major` = '历史文化';
# WHERE `student_id` = '3';

也可以一次修改多项:

UPDATE `student`
SET `major` = '生化'
WHERE `major` = '生物' OR `major` = '化学';
UPDATE `student`
SET `name` = '小惠', `major` = '物理'
WHERE `student_id` = 1

删除资料:(<> 不等于)

DELETE `student`
WHERE `student_id` = 4; 
# WHERE `score` <> 90;

取得 搜寻 资料

SELECT * FROM `student`;
SELECT `name` FROM `student`;
SELECT `name`,`score` FROM `student`;

ORDER BY 排序,DESC 从高到低排,ASC从低到高,LIMIT 限制回传

SELECT * FROM `student` ORDER BY `score`;

SELECT * FROM `student` ORDER BY `score` DESC;
#如果score一样的话,按id排序
SELECT * FROM `student` ORDER BY `score`
LIMIT 3; #只要前3笔数据
SELECT * FROM `student`
WHERE `major` = '英语' OR `score` <> 90;
SELECT * FROM `student`
WHERE `major` = '英语' OR `major` = '历史';
#等价于
WHERE `major` IN('历史', '英语');

标签:major,VARCHAR,name,student,MySQL,20,id
From: https://www.cnblogs.com/qiao-JF/p/18024193

相关文章

  • MySQL 8.0 instant 添加和删除列
    MySQL8.0.12开始,以下的altertable操作支持ALGORITHM=INSTANT算法:1.添加新的列。即instantaddcolumn2.添加或者删除虚拟列3.添加或者删除列的默认值4.修改enum、set类型列的定义5.修改索引类型6.重命名表 支持ALGORITHM=INSTANT算法的操作,只会修改数据字......
  • linux下部署MySQL服务
    linux下部署MySQL服务1、安装sudo-s调整为root下用户角色运行以下命令安装MySQL,输入Y继续sudoaptinstallmysql-server2、启动systemctlstartmysqld设置MySQL开机自启动(可选)systemctlenablemysqld3、检查运行状态systemctlstatusmysqld4、配置MySQL用户......
  • MySQL
    库的增删改查(1)语法#增createdatabasedb1;createdatabasedb2charset='gbk'#查showdatabases;#查所有的库showcreatedatabasedb1;#查单个#改alterdatabasedb2charset='utf-8'#删dropdatabasedb2;表的增删改查(1)语法#查看当前所在的库的名字......
  • 在 Linux 系统上安装 mysql 5.7
    准备工作下载MySQL:下载页面、下载地址创建MySQL用户组、用户、相关目录、日志文件#创建新用户组groupaddmysql#创建用户mysql,指定所属用户组为mysql,禁止其登录useradd-r-gmysql-s/sbin/nologin#创建安装目录(可以自定义,这里以“/usr/local/mysql”为例)mk......
  • MySQL——数据处理函数
    MySQL——数据处理函数数据处理函数又被称为单行处理函数,单行处理函数的特点:一个输入对应一个输出.语法格式:select单行处理函数(字段名)from表名;常见单行处理函数转换小写:lower()转换大写:upper()取子串:substr(),语法为substr(字段名,头,尾)。注意:起始下标是从1开......
  • mysql锁表
    要查看MySQL数据库中的锁信息,可以使用以下方法之一:使用 SHOWFULLPROCESSLIST:这个命令将显示当前MySQL实例中正在执行的所有进程,包括它们所持有的锁信息。在终端中执行以下命令:sql复制代码SHOWFULLPROCESSLIST;这将列出当前连接到MySQL实例的所有客户端会话,并......
  • mysql: show processlist 详解
    showprocesslist显示的信息都是来自MySQL系统库information_schema中的processlist表。所以使用下面的查询语句可以获得相同的结果:select*frominformation_schema.processlist了解这些基本信息后,下面我们看看查询出来的结果都是什么意思。Id:就是这个线程的唯一标......
  • 使用pymysql模块操作MySQL
    第一步:安装pipinstallpymysql第二步:使用方式#导入模块importpymysql#建立连接conn=pymysql.connect(user='root',password="root",host='127.0.0.1',database='cars')#创建游标,查询数据默认为元组类型cursor=conn.cursor......
  • mysql在工作中遇到的
    一:数据类型数据类型上踩到过一次坑,是因为sql的不规范写法的,在这之前确实没有注意到过平时的写法,就是在表结构上那一列字段类型是字符串的,然后在sql查询的时候是数字:wherecol1=1234;这样子结果就导致了索引失效,这个是因为mysql的内部的执行计划导致的,我个人是这么理解的,就......
  • MySQL 执行计划需要详细查看的内容
    1、id(重要):每一个select语句都会分配一个id。 id相同,从上到下执行 id不同,id越大,越先执行 id为null,不查询,仅表示一个结果集2、select_type(重要):查询类型 simple:简单查询,不包括子查询,union查询 primary:select查询字段列中存在子查询 union:存在union操......