数据库语句

一.创建数据库

1.创建数据库

create database [if not exists] <dbname> character set utf8

[if not exists]:如果后面的数据库名不存在,则创建数据库,否则不创建;[]代表可选的语法

:必须要填写数据库名 <> 表示必填

2.dbname命名规范

首字符的要求

    1. unicode标准 3.0 所定义的子母(包括拉丁子母 a-z A-Z,以及来自其它语言的字符字符)
    2. 下划线、at符号(@)或者数据字符(#)

后续的字符

    1. 可以是字母、数字
    2. 符号只能是@、$、_
    3. 不允许使用保留字:create、drop、MySQL使用的命令单词

SQL语言大小写不敏感,不区分大小写,A和a是一个意思

3.修改数据库的字符集

alter database <dbname> character set `utf8mb4`;

4.删除数据库

drop database <dbname>;

二.创建表

1.语法

create table <tbname> ( 字段名 数据类型(长度) 约束类型, ........ 字段名 数据类型(长度) 约束类型 )engine=innodb [character set `utf8mb4`]

2.数据类型

①数字类型

整数:

  1. tinyint (-128-127)(0-255)
  2. int:整数 (-2147483648 - 2147483647)(0 4294967295)
  3. bigint

小数(浮点数):

  1. float 单精度浮点数,精度:7位小数 占4字节
  2. double 双精度浮点数 精度:15位小数 占8字节
  3. decimal 大浮点数 精度:30位小数 占 17字节

定义方法:

  1. age int
  2. selary float(7,2) : 7 包含小数位,2是小数位
  3. distance decimal(30,29)

②字符串类型

单引号括起来就是字符串

类型

  1. char(n):定长字符串 0-255
  2. varchar(n)变长字符串 0 -65535
  3. text(n) 文本型 0-65535
  4. binary(n) 二进制字符串 范围 0-n

char和varchar的区别:

  1. 使用空间的方式不同:char(10)尽管你只存“test”,实际还是分配10字符的空间;varchar(20),也是存放“test”,只需分配4个字符空间;
  2. char处理数据要快于varchar

③日期

类型

  1. year yyyy
  2. date yyyy-mm-dd
  3. time HH:MM:SS
  4. timestamp yyyy-mm-dd HH:MM:SS
  5. datetime yyyy-mm-dd HH:MM:SS

定义

  1. birthday date

④二进制【了解】

  1. tinyblob 0-255
  2. blob 65kb
  3. longblob 4GB
  4. mediumblob 16M

3.约束类型:

①主键约束

②非空约束

③默认值约束

④自增长约束

⑤检查约束

⑥唯一约束

⑦外键约束

innodb和myisam的区别

1、innodb支持事务,而myisam不支持事务。

2、innodb支持外键,而myisam不支持外键。

3、innodb默认表锁,使用索引检索条件时是行锁,而myisam是表锁(每次更新增加删除都会锁住表)。

4、innodb和myisam的索引都是基于b+树,但他们具体实现不一样,innodb的b+树的叶子节点是存放数据的,myisam的b+树的叶子节点是存放指针的。

5、innodb是聚簇索引,必须要有主键,一定会基于主键查询,但是辅助索引就会查询两次,myisam是非聚簇索引,索引和数据是分离的,索引里保存的是数据地址的指针,主键索引和辅助索引是分开的。

6、innodb不存储表的行数,所以select count( * )的时候会全表查询,而myisam会存放表的行数,select count(*)的时候会查的很快。

总结:mysql默认使用innodb,如果要用事务和外键就使用innodb,如果这张表只用来查询,可以用myisam。如果更新删除增加频繁就使用innodb。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值