mysql数据库sysdate_MySql数据库知识点复习

文章目录

1. MySql数据类型

1.1 数值类型

1.2 字符串类型

1.3 日期类型

2.表记录的操作

2.1 字段约束

2.2 drop、delete、truncate之间的区别?

3. MySql常见的函数

4. 外键和表关系

4.1 外键介绍

4.2 添加外键

4.3 表关系

4.4 关联查询、外连接查询

1. MySql数据类型

1.1 数值类型

MySql中有很多数值类型,常用的数值类型有:

int 对应Java中的int类型, 占用4个字节

double 对应Java中的double类型, 占用8个字节

1.2 字符串类型

Mysql中包含char和varchar两种字符串类型:

char(n) –- 定长字符串

其中n的范围: 0~255 /个字符

name char(10)

如果存储的数据长度小于定义的最大长度, 剩余的空间会用空格补全, 因此char类型可能会存在一定的空间浪费。

varchar(n) -- 不定长字符串

其中n的范围: 0~255 /个字符 (mysql5.0之前)

0~65535 /个字节(mysql5.0之后)

如果存储的数据长度小于定义的最大长度, 剩余的空间可以留给别的数据使用, 因此varchar类型不会有空间的浪费。

大文本类型有:

text 0~65535 /个字节

bigtext 4GB

ps: char和varchar有什么区别?

char类型比varchar类型存储的效率略高,但是存在空间浪费。

1.3 日期类型

date 格式:年月日

time 格式:时分秒

datetime 格式: 年月日 时分秒

timestamp 时间戳(实际上存储的是从1970-1-1日到指定时间的毫秒值)

datetime的范围: 1000~9999年

timestamp的范围: 1970~2038年

timestamp类型的列可以设置自动更新为当前时间,但是datetime不能设置

2.表记录的操作

2.1 字段约束

1.主键约束

如果一个列添加了主键约束,那么该列就是这张表的主键,主键要求唯一且不能为空。

create table person1(

id int primary key,

...

);

2.唯一约束

如果为一个列添加了唯一约束,那么该列的值就不能重复,但是可以为null。

create table person2(

name char(10) unique,

...

);

3.非空约束

如果为一个列添加了非空约束,那么该列的值就不能为空,但是可以重复。

create table person3(

gender varchar(2) not null,

...

);

2.2 drop、delete、truncate之间的区别?

● drop只能删除库和表,不能删除表记录。

● delete和truncate是删除表记录,不能删除库和表本身

● delete删除表记录时,可以删除表中的某一部分记录,也可以删除表中的所有记录,而且删除时,是一条

一条删除。

● truncate也是删除表记录,但是只能删除所有记录,删除时不是一条一条删除,而是将整张表摧毁重建。

3. MySql常见的函数

1、ifnull(列名, 值)

判断指定的列的值是否为null, 如果为null, 则用第二个参数对null值进行替换

2、count(列名 | *)

count函数是对指定的列或者所有列统计行数

3、max(列名)和min(列名)

max(列名)

对指定的列求最大值

min(列名)

对指定的列求最小值

4、sum(列名和avg(列名)

sum(列名)

对指定的列进行求和

avg(列名)

对指定的列求平均值

5、curdate()、curtime()、sysdate()、now()

Curdate()

获取当前时间, 格式为年月日

Curtime()

获取当前时间, 格式为时分秒

Sysdate() | now()

获取当前时间, 格式为年月日 时分秒

4. 外键和表关系

4.1 外键介绍

外键就是用于通知数据库两张表数据之间对应关系的一个列, 数据库会通过外键来维护两张表的对

应关系。

4.2 添加外键

● 创建表的同时添加外键

CREATE TABLE student(

sid int primary key auto_increment, -- 学生编号

sname VARCHAR(10), -- 学生姓名

s_cid INT, -- 班级编号

FOREIGN KEY (s_cid) REFERENCES class(cid) --指定外键

);

● 在建表后添加外键

//添加外键约束:ALTER TABLE student ADD FOREIGN KEY (s_cid) REFERENCES class(cid);

4.3 表关系

● 一对一

● 一对多

● 多对多

4.4 关联查询、外连接查询

● 关联查询

select * from class, student

where student.s_icd = class.cid;

● 左外连接查询

左外连接查询会将左边表中的所有记录都查询出来, 而右边表中只查与左边对应的记录。

select * from class left join student on student.s_icd = class.cid;

● 右外连接查询

右外连接查询会将右边表中的所有记录都查询出来,而左边表中只查与右边对应的记录。

select * from class right join student on student.s_icd = class.cid;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python函数-基础知识

一、含义函数是程序内的“小程序”二、示例 #!/usr/bin/env python #coding:utf-8 def hello():print(Hello world!)print(Hello people!) hello() 以上内容,定义了一个叫 hello() 的函数,执行该函数。第一行是 def 语句,它定义了一个名为 he…

python task done_python queue task_done()问题

我对python多线程队列有问题。我有一个脚本,其中producer从输入队列获取元素,生成一些元素并将它们放入输出队列,consumer从输出队列获取元素并打印它们:import threadingimport Queueclass Producer(threading.Thread):def __ini…

dobbo 简单框架

转载于:https://www.cnblogs.com/huangjianping/p/7986881.html

python实现多人聊天udp_python—多任务版udp聊天机器人

将多任务(多线程)引入到udp聊天机器人,可以实现同时发送消息和接收消息1 import socket2 import threading345 def udp_send(udp_socket,ip,port):6 while true:7 try:8 # 获取发送的信息9 data input(请输入要发送的信息:)10 udp_socket.sendto(data.e…

kafka 集群的部署安装

这里我们罗列一下我们的环境 10.19.18.88 zk1 10.19.16.84 zk2 10.19.11.44 zk3这里公司需要接入kafka用于zipkin来定位调用链 kafka 的地址是http://kafka.apache.org/ zipkin 的地址是https://github.com/openzipkin/zipkin/tree/master/zipkin-server#environment-variables…

Ubuntu 16.04 设置MySQL远程访问权限

第一步:修改配置文件的端口绑定 打开的目录可能会根据MySQL的版本稍有不同,可以先尝试打开/etc/mysql/my.cnf这个配置文件,若该文件不存在或文件内容为空,则尝试下面的文件路径。 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 在下…

spring mysql整合_springboot mybatis mysql 整合

1、pom文件配置mysqlmysql-connector-javaruntimeorg.springframework.bootspring-boot-starter-testtestorg.mybatis.spring.bootmybatis-spring-boot-starter1.2.0org.springframework.bootspring-boot-starter-jdbc2、mybatis 数据库连接配置spring.datasource.driver-class…

Android 平台电容式触摸屏的驱动基本原理

Android 平台电容式触摸屏的驱动基本原理 Android 平台电容式触摸屏硬件基本原理 Linux 与 Android 的多点触摸协议 Linux输入子系统:事件的编码 转载于:https://www.cnblogs.com/LittleTiger/p/7992840.html

微信小程序怎么取mysql_微信小程序如何加载数据库真实数据?

微信小程序要加载网站数据库里面的真实数据,有一个硬性的要求,就是你的网站域名必须是https协议才行,要不然你第一步服务器域名配置你都通过不了,小编我也是前不久申请的https://www.100txy.com,具体申请步骤大家自行去…

mysql定时任务

1. 查看是否开启定时策略 show variables like %event_sche%; 若出现如下图,则此时是关闭状态 开启定时策略(重启无效) set global event_scheduler 1; 则需要在配置文件my.ini的设置(重启有效) [mysqld] event_schedulerON //这一行加入mysqld标签下 2. 创建存储过…

java 中jtable_java中使用JTable控件

JTable是java桌面软件设计的一个很有用的UI控件,是一个表格控件,完整位置是:javax.swing.JTable。以下是我的一些使用经验:添加行:不能直接向JTable插入行,需要借助JTable的tableModel,代码如下…

02使用常规步骤编译NanoPiM1Plus的Android4.4.2

02使用常规步骤编译NanoPiM1Plus的Android4.4.2 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2017/12/5 17:51 版本:V1.0 开发板:NanoPi M1 Plus/zh SDK:Android4.4.2 按照全志A33平台编译调通的功能&…

java 精灵线程_Java线程的状态分析

/*** 线程的状态分析*authoraa**/public classThreadState {public static void main(String[] args) throwsException {/*** 新建线程,线程为新建状态* jdk:至今尚未启动的线程的状态。* 如果不给线程设置名称,线程的名称将会是:…

【02】koala编译中文出错(已放弃不用)

http://koala-app.com/index-zh.html koala 下载地址。sass。中文编译出错:打开 Koala文件夹位置->rubygems->gems->sass->lib->sass->engine.rb。添加这句话。在所有的request XXXX 之后即可。复制添加Encoding.default_external Encoding.find…

java jlabel里面加button_在Java Swing中通过JLabel覆盖JButton?

是否可以在Swing中将Button叠加在Label上?例如,如果有一个带有图像的JLabel而没有文本,我想在我的JLabel上覆盖我的按钮.标签定义如下:myLabel new javax.swing.JLabel(new ImageIcon( myPicture ));如果没有,那么任何想法我怎么能意识到这一点,谢谢.编…

项目管理之码云和git

目录 学习链接 1 码云 1 第一步,注册 2 第二部,登录 2 创建项目 2 git管理 4 如何生成公钥 5 clone项目 5 提交项目 6 1.本地初始化一个项目 6 2.开始第一次上传你的项目 7 5.Git基本操作 8 学习链接 https://www.cnblogs.com/xiaoxiaoccaiya/p/7125136.…

java 传递脚本给c_java – JNI将参数传递给c的方法

我有一个c文件myCppTest.cpp,它有方法int myFunction(int argv, char **argc) {}和myClass.java中的Java本机方法public native int myFunction (int argv, char[][] argc);使用javah -jni myClass生成头文件后,我有头JNIEXPORT jint JNICALL Java_JPTokenizer_init(JNIEnv *, …

【例3-4】求后序遍历

【例3-4】求后序遍历 链接:http://ybt.ssoier.cn:8088/problem_show.php?pid1339时间限制: 1000 ms 内存限制: 65536 KB【题目描述】 输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。 【输入】 共两行,第一行一个字符串&a…

java classpath bat_tomcat启动批处理——setclasspath.bat | 学步园

除了上面两个批处理,还有一个比较重要的脚本,即是setclasspath.bat,它主要负责寻找、检查JAVA_HOME和JRE_HOME两个变量。********************************************************************************************if ""%1&q…

验证 Swarm 数据持久性 - 每天5分钟玩转 Docker 容器技术(104)

上一节我们成功将 Rex-Ray Volume 挂载到了 Service。本节验证 Failover 时,数据不会丢失。 Scale Up 增加一个副本: docker service update --replicas 2 my_web 运行之前我们先推测一下,理想的结果应该是:swarm 在 swarm-worker…