当前位置:网站首页>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 表名;

对于删除数据库和删除表的操作一定要谨慎!!!
边栏推荐
- XSS靶场中级绕过
- regular expression
- The graphic details Eureka's caching mechanism/level 3 cache
- Buttons with good user experience should not have hover state on mobile phones
- 【个人作品】无线网络图传模块
- 如何写一个vim插件?
- Wildcard SSL/TLS certificate
- To promote energy conservation institute 】 【 the opinions of the agricultural water price reform
- 【节能学院】安科瑞餐饮油烟监测云平台助力大气污染攻坚战
- [Personal work] Wireless network image transmission module
猜你喜欢
随机推荐
Redis does check-in statistics
泰德制药董事长郑翔玲荣膺“2022卓越影响力企业家奖” 泰德制药荣获“企业社会责任典范奖”
30天刷题计划(五)
【luogu P1912】诗人小G(二分栈)(决策单调性优化DP)
【Dart】dart之mixin探究
Interview assault 70: what is the glue bag and a bag?How to solve?
【Dart】dart构造函数学习记录(含dart单例模式写法)
Compose实战-实现一个带下拉加载更多功能的LazyColumn
Hangao data import
30-day question brushing plan (5)
终于有人把AB实验讲明白了
Win10, the middle mouse button cannot zoom in and out in proe/creo
Failed to re-init queues : Illegal queue capacity setting (abs-capacity=0.6) > (abs-maximum-capacity
密码学的基础:X.690和对应的BER CER DER编码
idea插件generateAllSetMethod一键生成set/get方法以及bean对象转换
ARTS_202207W2
Use WeChat official account to send information to designated WeChat users
Acrel-5010重点用能单位能耗在线监测系统在湖南三立集团的应用
互联网大厂研发流程
[Multi-task optimization] DWA, DTP, Gradnorm (CVPR 2019, ECCV 2018, ICML 2018)











