注意:SQL语法不区分大小写

操作数据库 -> 操作数据库中的表 -> 操作数据库中表的数据

1、操作数据库


1、创建数据库

  1. create database (if not exists) 数据库名; --括号里的内容可不写

2、删除数据库

  1. drop database (if exists) 数据库名; --括号里的内容可不写

3、使用数据库

  1. use 数据库名; --如果表名或字段名是特殊字符,就需要加 ` `

4、查看数据库

  1. show databases; --查看所有数据库

2、操作数据库表


(1)数据库表的列的数据类型

QQ图片20200701194114.png

数值

  • tinyint 1个字节
  • smallint 2个字节
  • mediumint 3个字节
  • int 4个字节
  • bigint 8个字节
  • float 4个字节
  • double 8个字节
  • decimal 字符串形式的浮点数,一般在金融计算的时候使用

字符串

  • char 0~255
  • varchar 0~65535 常用
  • tinytext 2^8 - 1
  • text 2^16 - 1 保存大文本

时间

  • date YYYY-MM-DD 日期格式
  • time HH: mm: ss 时间格式
  • datetime YYYY-MM-DD HH: mm: ss 最常用的时间格式
  • timestamp 时间戳,1970.1.1到现在的毫秒数,也较为常用
  • year 年份表示

null

  • 没有值,未知
  • 注意,不要使用NULL进行运算,结果仍为NULL

    (2)数据库表的字段属性

    QQ图片20200701195531.png

    默认

设置一个默认的值

主键

其值能唯一地标识表中的每一行,每一行的该列的值不可以重复

非空

勾选上之后,表示一定要输入值,不输入则会报错

Unsigned

无符号的,勾选上之后,其值只能为正

自增

勾选上之后,会自动在上一条记录的基础上 + 1(默认只 + 1,可以在高级那里自己设置自增的值)

Zerofill

用零填充,勾选上之后,假如有个int类型长度为5,输入1,则在表中显示为00001

更新

一般是在字段为时间,并且设置了默认值为当前时间的时候,勾选上更新


拓展(目前暂时了解就好)

  1. --每一个表,都必须存在以下五个字段!未来做项目用的!更完美!
  2. /*
  3. id 主键
  4. `version` 乐观锁
  5. is_delete 伪删除
  6. gmt_create 创建时间
  7. gmt_update 修改时间
  8. */

(3)使用SQL手动创建数据库表

  1. CREATE TABLE `student` (
  2. `id` int(10) NOT NULL COMMENT '学生编号',
  3. `name` varchar(100) DEFAULT NULL COMMENT '学生姓名',
  4. `age` int(3) DEFAULT NULL COMMENT '学生年龄',
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8

以上语句创建的表用SQLyog可视化表示为:
QQ图片20200701205605.png
用SQL语法手动创建表的格式

  1. CREATE TABLE [IF NOT EXISTS] `表名` (
  2. `字段名` 列类型 [默认值 '默认的值'] [自增] [注释 '注释的内容'],
  3. `字段名` 列类型 [默认值 '默认的值'] [自增] [注释 '注释的内容'],
  4. ......
  5. `字段名` 列类型 [默认值 '默认的值'] [自增] [注释 '注释的内容'],
  6. PRIMARY KEY('主键名')
  7. )[数据库表的类型-引擎] [字符集设置] [注释 '注释的内容']
  8. --[ ]上面方括号里的内容不是必须的,其他都是必须要的!

拓展(超级好用,可以偷懒)

  1. SHOW CREATE DATABASE 数据库名 --能够查看创建数据库的语句!
  2. SHOW CREATE TABLE 表名 --能够查看创建数据库表的语句!就是上面我们手动写的那些!
  3. DESC 表名 --显示表的结构

(4)删除修改数据库表

删除数据库表

  1. drop table if exists 表名

修改数据库表

  1. alter table 旧表名 rename as 新表名 --修改表名
  2. ------------------------------------------------------------------------------------
  3. alter table 表名 add 字段名 字段属性名 --增加字段和字段属性
  4. alter table 表名 drop 字段名 --删除字段
  5. alter table 表名 change 旧字段名 新字段名 [新字段名的新字段属性] --修改字段名[和字段属性]
  6. alter table 表名 modify 字段名 字段的新字段属性 --修改字段的字段属性,也叫修改约束