首页 > 数据库 >mysql

mysql

时间:2023-09-30 11:45:31浏览次数:53  
标签:salary age 数据库 stu student mysql id

1.基本语句

mysql -u root -p --连接数据库

show databases --列出所有数据库

create database xxx --创建一个数据库

use xxx --切换到xxx数据库

show tables --列出当前数据库所有的表

-- 注释
/* (多行注释)
hello
r3ality
*/

数据库xxx语言

  • DDL define
  • DML manage
  • DQL query
  • DCL control

DDL

(一)操作数据库

2.1 操作数据库

1.创建数据库

CREATE DATABASE [IF NOT EXISTS] xxx;

2.删除数据库

DROP DATABASE [IF EXISTS] XXX;

3.使用数据库

USE xxx;

mysql数据类型

数字

  • tinyint (一个字节)
  • smallint (两个字节)
  • mediumint (三个字节)
  • int四个字节
  • bigint (八个字节)
  • float 浮点数 (四个字节)
  • double 浮点数(八个字节)
  • decimal 字符串形式的浮点数

字符串

  • char 定长字符串0~255

  • varchar 可变字符串 0~65535

  • tinytext 微型文本 0~2^8-1

  • text 文本 0~2……16-1

日期

java.util.Date

  • datetime YYYY-MM-DD HH:MM:SS 最常用的时间格式

  • timestamp 时间戳,1970.1.1到现在的毫秒数!

数据库的字段属性

unsigned :
  • 无符号整数
  • 该列不能为负数
zerofill:

int(3), 5:005

自增
  • 自动在上一条记录的基础上+1
  • 用来设计主键,必须为整数
非空

如果没有赋值,就会报错

默认
  • 设置默认的值
  • 如果不指定值,就会有默认的值

(二)操作表

创建表
create table student(
   id char(5),
   name varchar(20),
   age int(10)
);

)

查看当前数据库所有表

show tables;

查看表的结构

desc student

删除表

drop table student

修改表

1.添加列:给student表添加sex列
    alter table student add (sex varchar(10));
2.修改列类型:修改name列类型为char
    alter table student modify name char((10));
3.修改列名:修改age列名为country
    alter table student change age country int(10);
4.删除列:删除表的age列
    alter table student drop age;
5.修改表名称:修改student表为stu
    alter table student rename stu

DML

  • insert
  • update
  • delete

insert

insert into stu values(2,1500,25,'女');
insert into stu (id,salary,age,sex)values(2,1500,25,'女');

update

update stu set salary=2300,age=33,sex='女'where id=1
update stu set sex='男'where sex is null
update stu set age=age+1 where salary=2500

delete

delete from stu where id =1

DQL

基础查询

1.mysql> select * from stu;  -- 查询整张表的内容
+----+--------+-----+-----+------+
| id | salary | age | sex | name |
+----+--------+-----+-----+------+
|  1 |   2500 |  20 | 女  | 小王 |
|  2 |   3000 |  30 | 男  | 小李 |
|  3 |   2800 |  28 | 女  | 小红 |
+----+--------+-----+-----+------+
2. mysql> select 'id','age' from stu; -- 只查询id和age两个字段的内容
+----+-----+
| id | age |
+----+-----+
| id | age |
| id | age |
| id | age |
+----+-----+ 
3.
mysql> select concat('学号:',id) as 新学号 from stu; -- 字段前拼接
+--------+
| 新学号 |
+--------+
| 学号:1 |
| 学号:2 |
| 学号:3 |
+--------+

where子句

逻辑运算符

  • and
  • or
  • not
+----+--------+-----+-----+------+
| id | salary | age | sex | name |
+----+--------+-----+-----+------+
|  1 |   2500 |  20 | 女  | 小王 |
|  2 |   3000 |  30 | 男  | 小李 |
|  3 |   2800 |  28 | 女  | 小红 |
+----+--------+-----+-----+------+

mysql> select salary,age from stu where salary>=2800 and age<=28;
+--------+-----+
| salary | age |
+--------+-----+
|   2800 |  28 |


mysql> select salary,age from stu where salary between 2500 and 2900;
+--------+-----+
| salary | age |
+--------+-----+
|   2500 |  20 |
|   2800 |  28 |
+--------+-----+ 	

mysql> select salary,age from stu where not salary=2500;
+--------+-----+
| salary | age |
+--------+-----+
|   3000 |  30 |
|   2800 |  28 |

模糊查询

比较运算符

is null 如果操作值为空,布尔值为真
is not null 如果操作值不为空,布尔值为真
between...and 如果一个数在另外两个数之间,布尔值为真
like 如果一个数与另一个数匹配,布尔值为真
in 如果一个数在另外一堆数之间,布尔值为真

标签:salary,age,数据库,stu,student,mysql,id
From: https://www.cnblogs.com/r3ality/p/17737698.html

相关文章

  • MySQL常用指令
    注意所有的命令都要用分号结尾!!!!1、查看MySQL中有那些数据库:showdatabases(默认自带了四个数据库)2、如何使用某个数据库:use数据库名称3、如何创建数据库:createdatabase数据库名称4、导入SQL指令:sourceSQL指令(SQL指令可以是文件的路径,但是文件的路径一定不要有中文!!)5、不看表......
  • QT: 电子商城系统-MYSQL数据库代码
    QT: 第17章【统合实例】电子商城系统MYSQL代码:/*SQLyogUltimatev12.3.2(64bit)MySQL-8.0.11:Database-emarket**********************************************************************//*!40101SETNAMESutf8*/;/*!40101SETSQL_MODE=''*/;/*!40......
  • Mysql 日期计算相差年、月、周、日数整理
    1、相差年数SELECTNOW()当前日期,DATE_ADD(NOW(),INTERVAL-400DAY)历史日期,TIMESTAMPDIFF(YEAR,DATE_ADD(NOW(),INTERVAL-400DAY),NOW())AS相差年;2、相差月数 SELECTNOW()当前日期,DATE_ADD(NOW(),INTERVAL-400DAY)历史日期,TIMESTAMPDIFF(MONTH,......
  • java——mysql随笔
         索引简介:                                                                 1 ......
  • 读高性能MySQL(第4版)笔记17_复制(下)
    1. 复制切换1.1. 复制是高可用性的基础1.1.1. 总是保留一份持续更新的副本数据,会让灾难恢复更简单1.2. “切换副本”(promotingareplica)和“故障切换”(failingover)是同义词1.2.1. 意味着源服务器不再接收写入,并将副本提升为新的源服务器1.3. 计划内切换1.3.1. 常......
  • mysql将换行替换成空格
    #char(10)换行符char(13)回车符号select*fromview_nichtware_wms_inventorywhereDESCRIPTIONlikeconcat('%',char(10),'%')andSKU='DMKT-20220124-013';#去除换行和回车符号REPLACE(REPLACE(remarks,char(13),''),char(10),'......
  • MySQL 45讲笔记(2)
    全局锁和表锁根据加锁的范围,MySQL里面的锁大致可以分成全局锁、表级锁和行锁三类全局锁顾名思义,全局锁就是对整个数据库实例加锁。MySQL提供了一个加全局读锁的方法,命令是Flushtableswithreadlock(FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线......
  • MySql 数据库 对表中数据的操作
    对表中数据的操作--向表中插入数据insert[ignore]into表名(字段列表)values(值列表)usescoredb;showtables;descdepartments;insertintodepartments(id,deptno,deptname,director,location)values(1,101,"张xx","张院长","新乡"......
  • MySql 数据 管理表的操作
    管理表的操作usescoredb;--查看数据库中有哪些表showtables;showtablesfrombipowernode;--查看数据表的基础结构showcolumnsfromdepartment;descdepartment;--查看表的详细结构,查看表的建表语句showcreatetabledepartment;--1.修改表名altertab......
  • MYSQL时间差函数
    一、TIMESTAMPDIFF语法TIMESTAMPDIFF(unit,datetime1,datetime2)返回datetime2-datetime1的时间差,结果单位由unit参数决定unit合法参数second秒minute分hour小时day天week周month月quarter季度year年示例SELECTTIMESTAMPDIFF(......