当前位置:网站首页>MySQL语法基础
MySQL语法基础
2022-08-01 20:24:00 【快到锅里来呀】
目录
数据库操作:
1. 创建数据库: create database 数据库名;
2. 查看所以数据库:show databases;
3, 选中数据库:use 数据库名;
4, 删除数据库:drop database 数据库名;
表操作:
1. 创建表:create table 表名(列名 类型 , 列名 类型);
2. 查看当前数据库中的所有表:show tables;
3. 选中数据库:use 数据名;
4, 删除数据库:drop database 数据库名;
1. 常用数据类型
1.1 数值类型
数值类型可以指定为无符号(unsigned ),但不建议取
| 数据类型 | 大小 | 说明 | 对应java类型 |
|---|---|---|---|
| bit[((M)] | M指定位数,默认1 | 二进制数,M范围(1-64) 存储数值范围0~2^M-1 | 常用Boolean对应bit,此时默认1位,存0或1 |
| tinyint | 1字节 | Byte | |
| smallint | 2字节 | Short | |
| int | 4字节 | Integer | |
| bigint | 8字节 | long | |
| float(M,D) | 4字节 | M有效数字的长度 D小数点后的位数 发生精度丢失 | Float |
| double(M,D) | 8字节 | 同上 | Double |
| decimal(M,D) | M/D最大值+2 | 双精度 类似于字符串这种变长空间存储 优点:误差小 缺点:计算效率低,空间存储变大 | BigDecimal |
| numeric(M,D) | M/D最大值+2 | 同上 | BigDecimal |
1.2 字符串类型
| 数据类型 | 大小 | 说明 | 对应java类型 |
|---|---|---|---|
| varchar(SIZE) | 0-65535字节 | 可变长度字符串 SIZE表示最大长度 字符串最多表示几个字符(不是字节) | String |
| text | 0-65535字节 | 长文本数据 | String |
| mediumtext | 0-16777215字节 | 中等长度文本数据 | String |
| blob | 0-65535字节 | 二进制形式的文本长度数据 | byte[] |

1.3 日期类型
| 数据类型 | 大小 | 说明 | 对应java类型 |
|---|---|---|---|
| datetime | 8字节 | 范围1000~9999年 不会进行时区的检索及转换 | java.util.Date java.sql.Timestamp |
| timestamp | 4字节 | 范围1970~2038年 自动检索当前时区并进行转换 | 同上 |
2. 数据库的操作
说一个输入SQL代码技巧
(1)使用上下方向键,可以找到上一条或下一条sql语句
(2)如果有一个sql语句输入一半,不想继续执行了,可以按Crtl+c终止这条语句(这里不是复制!!!)
2.1 显示数据库
show databases;

这行代码,也设计客户端和服务器之间的交互

2.2 创建数据库
create database 数据名;
(1)不能创建名字相同的数据库
(2)不能以sql中的关键字命名 数据库/表/列
(如果必须使用关键字,可以加个反引号` ` (键盘数字1旁边的键))
(3) 可以这样创建数据库create database if not exists 数据库名;
(好处是不会报错,不论创建成功与否)
(4)也可以指定数据库采用的字符集,指定数据库字符集的校验规则

(1) 需要注意如果服务器中已经有了这个数据库,还继续创建,就会创建失败

(2) 并且创建数据库时,数据库的命名也不能是关键字
如果必须要使用,可以加反引号` `(键盘上数字1旁边的键)

(3)也可以这样输入sql语句创建数据库
create database if not exists 数据库名;
可以看到比之前多加了个 if not exists,这样写的好处是
如果服务器中没有,就创建
如果服务器中有,就不影响(不会报错)
作用是比如说写代码时,没有在控制台中写,而是在一个文件中批量执行,就不会报错终止
(4)也可以指定数据库采用的字符集,指定数据库字符集的校验规则
数据默认的字符集是,拉丁文(不支持汉字)
其他字符集还有ascii、unicode、GBK、utf8(主流字符编码方式 uft8mb4)
2.3 使用数据库
use 数据库名;
选中数据库后,就可以对这个库进行操作了
2.4 删除数据库
drop database 数据库名;
3. 表的操作
对表的任何操作之前,必须先选定数据库

3.1 查看当前数据库中的表
show tables;

3.2 创建表
create table 表名 (列名 类型 , 列名 类型);
(1) 类型在后,列名在前
(2)也可以加上注释(comment ‘注释’ 或者 -- '注释')
(3)如果建表语句比较长,也可以分成多行语句来写

(1)创建表需要注意,同一个数据库中不能有同名的表,并且表名也不能是关键字(如果非要使用,加反引号` `)

(2)可以给加上注释comment ‘注释’ 或者 -- '注释'
(3) 如果建表时语句比较长,可以把sql语句分成多行来写,更美观(可以写在文本文件中)
3.3 查看指定表结构
desc 表名;

3.4 删除表
drop table 表名;

对于删除数据库和删除表的操作一定要谨慎!!!
边栏推荐
猜你喜欢

30天刷题计划(五)

面试突击70:什么是粘包和半包?怎么解决?

Oracle排序某个字段, 如果这个varchar2类型的字段有数字也有文字 , 怎么按照数字大小排序?
![[Energy Conservation Institute] Application of Intelligent Control Device in High Voltage Switchgear](/img/6d/05233ce5c91a612b6247ea07d7982e.jpg)
[Energy Conservation Institute] Application of Intelligent Control Device in High Voltage Switchgear

小数据如何学习?吉大最新《小数据学习》综述,26页pdf涵盖269页文献阐述小数据学习理论、方法与应用

【多任务优化】DWA、DTP、Gradnorm(CVPR 2019、ECCV 2018、 ICML 2018)

How PROE/Croe edits a completed sketch and brings it back to sketching state

KDD2022 | 自监督超图Transformer推荐系统

用户体验好的Button,在手机上不应该有Hover态

regular expression
随机推荐
Redis does check-in statistics
数据可视化
Greenplum Database Source Code Analysis - Analysis of Standby Master Operation Tools
部署zabbix
Get started quickly with MongoDB
面试官:大量请求 Redis 不存在的数据,从而打倒数据库,有什么方案?
【Dart】dart构造函数学习记录(含dart单例模式写法)
有用的网站
【kali-信息收集】(1.2)SNMP枚举:Snmpwalk、Snmpcheck;SMTP枚举:smtp-user-enum
油猴hook小脚本
Redis 做签到统计
An implementation of an ordered doubly linked list.
LTE时域、频域资源
第55章 业务逻辑之订单、支付实体定义
第56章 业务逻辑之物流/配送实体定义
WhatsApp group sending actual combat sharing - WhatsApp Business API account
57:第五章:开发admin管理服务:10:开发【从MongoDB的GridFS中,获取文件,接口】;(从GridFS中,获取文件的SOP)(不使用MongoDB的服务,可以排除其自动加载类)
我的驾照考试笔记(4)
Remove 360's detection and modification of the default browser
XSS靶场中级绕过


