mysql语句_Mysql语句
------------恢复内容开始------------
存储引擎
存储引擎是用于根据不同的机制处理不同的数据。
查看mysql中所用引擎:
show engines;
create table t1(id int)engine=innodb; #innob:默认使用存储引擎 :支持事务,行锁,外键create table t2(id int)engine=myisam; #myisam:5.5以前老版本使用的存储引擎create table t3(id int)engine=blackhole; #黑洞,存入值消失create table t4(id int)engine=memory; #通电数据存在,断电丢失
创建表完整的语句
#约束条件:可有可无
#宽度:限制某些数据类型的存储大小
create table 表名(
字段名1 字段类型(宽度) 约束条件,
字段名2 字段类型(宽度) 约束条件
)
#初始约束条件
初始约束条件: not null
create tableteacher(
idint not null, # 约束插入记录时id不能为空
namevarchar(16),
ageint);
注意:
1.创建表的字段名不能重复;
create table test(
id int,
id int
);
2.最后一个字段不能在末尾加 , 号
create table test(
id int,
age int,
);
3.字段名必须要有字段类型与宽度
create table test(
id int,
name char
);
字段类型
1) 确定表结构
2) 字段与字段类型
- 整型:
- tinyint: 默认范围 -128, 127
create table t5(
id tinyint,
name varchar(16)
);
5.6.40
insert into t5 values(-128, 'tank'), (127, 'jason');
insert into t5 values(-129, 'tank');
insert into t5 values(128, 'jason');
insert into t5 values(12, 'sean');
- int: 默认范围是(-2147483648, 2147483647)
应用场景: id号、年龄...
create table t6(
id int
);
# int 默认宽度11---> 默认展示宽度
insert into t6 values(-2147483649);
insert into t6 values(2147483648);
insert into t6 values(100);
create table t7(
id int(3)
);
# 若插入超过设定宽度,则正常显示
insert into t7 values(123456);
# 若插入不足够4位,则以空格补全
insert into t7 values(1);
- 浮点型:
应用场景: 工资、身高、体重...
- float
- double
- decimal# 范围255是最大长度(包括.小数), 30代表是小数的位数create table t8(x float(255, 30));create table t9(x double(255, 30));create table t10(x decimal(65, 30));
# 插入数据
# 三种浮点型: 区别在于精确度不一样insert into t8 values(1.111111111111111111111111111111);insert into t9 values(1.1111111111111111111111111111);insert into t10 values(1.1111111111111111111111111111);
- 字符类型
- char(16): 定长字符
char: 手机号、身份证号、银行卡号等...
-插入16个字符:create tablet11(
idint,
namechar(4) # 4);insert into t11 values(1, 'tank');
# utf8 中文3个bytes gbk 中文2个bytesinsert into t11 values(2, '大鸡哥大鸡哥');
优点:
存取速度快
缺点:
浪费空间。insert into t11 values(1, 't'); # t+三个空格
egon+ sean +tank- varchar(16): 不定长字符- 存几个字符,就是几个字符的大小,每个字符前都要+1bytes- 插入16个字符 ---> 1bytes+
优点:
节省空间。create table t12(id int, name varchar(4));insert into t12 values(1, 'egon'); # 1bytes +egoninsert into t12 values(2, 'tank'); # 1bytes +tankinsert into t12 values(3, 'sean'); # 1bytes +seaninsert into t12 values(4, 't'); # 1bytes +t
1bytes+ egon 、 1bytes + tank、 1bytes + sean
-日期类型- date: 2019-12-11
- datetime: 2019-12-11 11:11:11
- time: 11:11:11
- year: 2019
- timestamp: 时间戳create tablestudent(
idint,
namevarchar(4),
birth date,
registerdatetime,
work_timeyear,
t_time time,
update_timetimestamp);insert into student values(1, '张全蛋', '2019-11-11', '2019-11-11 11:11:11','2019', '11:11:11', null);insert into student values(2, 'HCY', '1000-11-11', '1980-11-11 11:11:11','2019', '11:11:11', null);update student set name='HCY2号' where id=2;
python 插入时间数据时,转成str类型。
- 枚举与集合
-enum: 可以 多选一create tablet13(
idint,
namevarchar(4),
gender enum('male', 'female', 'others')
);
#insert into 表名(字段名) values(字段名对应的值);insert into t13(id, name, gender) values(1, 'tank', 'male');
# 严格模式下,选择枚举以外的值会报错set sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";insert into t13(id, name, gender) values(2, 'gd', '人Y');- set: 可 多选一 或 多选多create tablet14(
idint,
namevarchar(4),
gender enum('male', 'female', 'others'),
hobbiesset('read', 'sing', '生蚝', 'HSNM', '架子鼓')
);
# 多选一insert into t14 values(1, '大鸡J', 'others', 'HSNM');
# 多选多insert into t14 values(2, 'tank', 'male', 'read,架子鼓,sing,生蚝');
# 多选多的顺序可不一insert into t14 values(2, 'tank', 'male', 'read,架子鼓,sing,生蚝');
3.约束条件
- not null + unique:create tableuser1(
idint not null,
namevarchar(4)
);insert into user1(id, name) values(null, 'tank');insert into user1(id, name) values(1, 'tank');- unique将某个字段设置为唯一的值
#not null + unique
create tableuser2(
idint not null unique,
namevarchar(4)
);insert into user2(id, name) values(1, 'tank'), (2, 'sean');- primary key + auto_increment: 主键+自增- primary key -----》 not null + unique
-pk就是表中的索引: 可以通过索引快速查找某些数据。-提高查询效率
# 将id设置为主键,非空切唯一create tableuser3(
idint primary key,
namevarchar(4)
);insert into user3(id, name) values(1, 'tank');insert into user3(id, name) values(2, 'tank');-auto_increment:
# 将id设置为自增create tableuser4(
idint primary keyauto_increment,
namevarchar(4)
);
# 自增默认从0开始insert into user4(name) values('tank');insert into user4(name) values('sean');insert into user4(name) values('egon');insert into user4(name) values('大鸡哥');
# 若想自增从指定值开始,可插入第一条数据时先指定id的值;insert into user4(id, name) values(10, 'tank');insert into user4(name) values('sean'); # 11
insert into user4(name) values('egon'); # 12
insert into user4(name) values('大鸡哥'); # 13
-unsigned-无符号create tableuser5(
idintunsigned
);
# 报错insert into user5 values(-100);insert into user5 values(0);insert into user5 values(100);-有符号create tableuser6(
idint);insert into user6 values(-100);-zerofill
使用0填充空格create tableuser7(
idintzerofill
);insert into user7 values(100);-删除记录create tableuser8(
idint primary keyauto_increment,
namevarchar(4)
);insert into user8(name) values('tank');insert into user8(name) values('大大大'), ('egon');- delete:
# 清空user8表中的所有记录delete fromuser8;- truncate:
# 清空user8表中的所以记录,并且id重置为0truncate table user8;
mysql语句_Mysql语句相关推荐
- mysql代码生成器_MYSQL语句生成器
看到一位网友用JS做了一个这样一个类似的东西,于是试着用PHP试试看效果. 多提意见,谢谢! MYSQL语句生成器 2005-01-11 初步模型 2005-01-13 修改了可以输入数字及数字为开头 ...
- mysql xml语句_Mysql语句
xml文件转义字符处理 (1) (2)直接写转义后的字符 1.mysql里批量修改表内某个字段内的部分数据 UPDATE inventory_stock SET batchno = REPLACE(b ...
- mysql资质_MySQL语句与Java代码实现按需过滤企业员工的资质证书
在企业ERP中,每位员工拥有多个资质证书,资质证书有种类.名称和登记时间,以及变动时间和结束时间的主要属性:现在有一个需求,员工在系统查看自己的信息之时:同一种类.同一名称.同一登记时间的资质证书,取 ...
- mysql查看ddl语句_mysql语句-DDL语句
SQL分类 1.DDL语句:数据定义语句,用来定义不同的数据段.数据库,表,列,索引等数据表对象,常用语句:create.drop.alter等. 2.DML语句:数据操作语句,用于添加.删除.更新和 ...
- mysql 举例_MySQL 语句举例(一)
举例:有10个用户,输出在订单表中下单数最多的5个人的名字. my_user 表数据 my_order,uid对应my_user表的id 测试数据生成 写一个存储过程,随机插入10000条数据: CR ...
- mysql查询数量语句_mysql语句统计总数_一条sql语句实现统计查询_MySQL
bitsCN.com 一条sql语句实现统计查询 如图:程序员在进行如下的统计时,现在提供两种实现方案: 方案一:运用 SEKECT CASE WHEN EXPLAIN SELECT count(*) ...
- mysql使索引失效语句_mysql语句中索引可能失效的情况
一.创建两张表 表a 表b 选择不同的存储引擎以InnoDB和MyISAM为例 表a CREATE TABLE `a` ( `ID` int NOT NULL AUTO_INCREMENT , `n ...
- mysql查询性别语句_mysql 语句根据身份证查询年龄,地址,性别
select case left(idcard,2) when '11' then '北京市' when '12' then '天津市' when '13' then '河北省' when '14' ...
- mysql的crud语句_MySQL数据库CRUD语句快速入门
本文目录: Day11 SQL语句 sql语句,一种用于操作数据库的语言 数据库, 简单地理解为硬盘上的文件, 可以存放数据 sql 语句大致可以分类两大类 进入数据库的方法: 1. 命令行代码: 进 ...
最新文章
- 用Windows Media Player截图的方法
- 简评《疯狂的石头》《超人归来 / Superman Returns》《谍中谍 3 / Mission Impossible 3》...
- 计算机系统 程序和指令
- 构建制品不一致,后续工作都是白费 | 研发效能提升36计
- Laravel核心解读--Facades
- HTML autofocus
- 周期置换加密算法用c语言实现,古典密码实验报告.doc
- modern ui html,非常漂亮的WPF界面框架(Modern UI for WPF)
- 仓位管理之二: 凯利公式指导投资与多种资金管理方式
- 无盘服务器教程,无盘入门教程之解读无盘构造
- JavaWeb项目部署服务器并配置ssl证书教程
- [附源码]Node.js计算机毕业设计高校运动会管理系统Express
- WIN7下WIFI共享上网教程
- Cadence Other格式网表导出与导入ortelesis.dll
- 查看电脑上安装的所有的python版本以及安装路径
- 避免学习Linux走弯路
- 必应缤纷桌面产品分析 马骏
- android Zxing二维码之读取手机二维码图片
- 2021 ICPC Asia Taipei Regional
- 开始和终止工作英语怎么说?