------------恢复内容开始------------

存储引擎

存储引擎是用于根据不同的机制处理不同的数据。

查看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语句相关推荐

  1. mysql代码生成器_MYSQL语句生成器

    看到一位网友用JS做了一个这样一个类似的东西,于是试着用PHP试试看效果. 多提意见,谢谢! MYSQL语句生成器 2005-01-11 初步模型 2005-01-13 修改了可以输入数字及数字为开头 ...

  2. mysql xml语句_Mysql语句

    xml文件转义字符处理 (1) (2)直接写转义后的字符 1.mysql里批量修改表内某个字段内的部分数据 UPDATE inventory_stock SET batchno = REPLACE(b ...

  3. mysql资质_MySQL语句与Java代码实现按需过滤企业员工的资质证书

    在企业ERP中,每位员工拥有多个资质证书,资质证书有种类.名称和登记时间,以及变动时间和结束时间的主要属性:现在有一个需求,员工在系统查看自己的信息之时:同一种类.同一名称.同一登记时间的资质证书,取 ...

  4. mysql查看ddl语句_mysql语句-DDL语句

    SQL分类 1.DDL语句:数据定义语句,用来定义不同的数据段.数据库,表,列,索引等数据表对象,常用语句:create.drop.alter等. 2.DML语句:数据操作语句,用于添加.删除.更新和 ...

  5. mysql 举例_MySQL 语句举例(一)

    举例:有10个用户,输出在订单表中下单数最多的5个人的名字. my_user 表数据 my_order,uid对应my_user表的id 测试数据生成 写一个存储过程,随机插入10000条数据: CR ...

  6. mysql查询数量语句_mysql语句统计总数_一条sql语句实现统计查询_MySQL

    bitsCN.com 一条sql语句实现统计查询 如图:程序员在进行如下的统计时,现在提供两种实现方案: 方案一:运用 SEKECT CASE WHEN EXPLAIN SELECT count(*) ...

  7. mysql使索引失效语句_mysql语句中索引可能失效的情况

    一.创建两张表 表a 表b  选择不同的存储引擎以InnoDB和MyISAM为例 表a CREATE TABLE `a` ( `ID` int NOT NULL AUTO_INCREMENT , `n ...

  8. mysql查询性别语句_mysql 语句根据身份证查询年龄,地址,性别

    select  case left(idcard,2) when '11' then '北京市' when '12' then '天津市' when '13' then '河北省' when '14' ...

  9. mysql的crud语句_MySQL数据库CRUD语句快速入门

    本文目录: Day11 SQL语句 sql语句,一种用于操作数据库的语言 数据库, 简单地理解为硬盘上的文件, 可以存放数据 sql 语句大致可以分类两大类 进入数据库的方法: 1. 命令行代码: 进 ...

最新文章

  1. 用Windows Media Player截图的方法
  2. 简评《疯狂的石头》《超人归来 / Superman Returns》《谍中谍 3 / Mission Impossible 3》...
  3. 计算机系统 程序和指令
  4. 构建制品不一致,后续工作都是白费 | 研发效能提升36计
  5. Laravel核心解读--Facades
  6. HTML autofocus
  7. 周期置换加密算法用c语言实现,古典密码实验报告.doc
  8. modern ui html,非常漂亮的WPF界面框架(Modern UI for WPF)
  9. 仓位管理之二: 凯利公式指导投资与多种资金管理方式
  10. 无盘服务器教程,无盘入门教程之解读无盘构造
  11. JavaWeb项目部署服务器并配置ssl证书教程
  12. [附源码]Node.js计算机毕业设计高校运动会管理系统Express
  13. WIN7下WIFI共享上网教程
  14. Cadence Other格式网表导出与导入ortelesis.dll
  15. 查看电脑上安装的所有的python版本以及安装路径
  16. 避免学习Linux走弯路
  17. 必应缤纷桌面产品分析 马骏
  18. android Zxing二维码之读取手机二维码图片
  19. 2021 ICPC Asia Taipei Regional
  20. 开始和终止工作英语怎么说?

热门文章

  1. IPv6:不仅仅是数字加减法那么简单
  2. 北大青鸟广州天河:高中生做技术经理!
  3. eclipse自定义快捷键
  4. Oozie 出现 ClassNotFoundException 解决方法
  5. Google Maps Android API V2使用及问题解决
  6. vector机器人 HOW TO MEET VECTOR 如何满足向量
  7. golang 解析html
  8. linux shell 删除文本 较长行
  9. linux fuser 命令 查看文件/网络端口 被什么进程占用
  10. linux 内核模块声明 MODULE_LICENSE