注意:SQL语法不区分大小写
操作数据库 -> 操作数据库中的表 -> 操作数据库中表的数据
1、操作数据库
1、创建数据库
create database (if not exists) 数据库名; --括号里的内容可不写
2、删除数据库
drop database (if exists) 数据库名; --括号里的内容可不写
3、使用数据库
use 数据库名; --如果表名或字段名是特殊字符,就需要加 ` ` 号
4、查看数据库
show databases; --查看所有数据库
2、操作数据库表
(1)数据库表的列的数据类型

数值
- 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
设置一个默认的值
主键
其值能唯一地标识表中的每一行,每一行的该列的值不可以重复
非空
勾选上之后,表示一定要输入值,不输入则会报错
Unsigned
无符号的,勾选上之后,其值只能为正
自增
勾选上之后,会自动在上一条记录的基础上 + 1(默认只 + 1,可以在高级那里自己设置自增的值)
Zerofill
用零填充,勾选上之后,假如有个int类型长度为5,输入1,则在表中显示为00001
更新
一般是在字段为时间,并且设置了默认值为当前时间的时候,勾选上更新
拓展(目前暂时了解就好)
--每一个表,都必须存在以下五个字段!未来做项目用的!更完美!/*id 主键`version` 乐观锁is_delete 伪删除gmt_create 创建时间gmt_update 修改时间*/
(3)使用SQL手动创建数据库表
CREATE TABLE `student` (`id` int(10) NOT NULL COMMENT '学生编号',`name` varchar(100) DEFAULT NULL COMMENT '学生姓名',`age` int(3) DEFAULT NULL COMMENT '学生年龄',PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8
以上语句创建的表用SQLyog可视化表示为:
用SQL语法手动创建表的格式
CREATE TABLE [IF NOT EXISTS] `表名` (`字段名` 列类型 [默认值 '默认的值'] [自增] [注释 '注释的内容'],`字段名` 列类型 [默认值 '默认的值'] [自增] [注释 '注释的内容'],......`字段名` 列类型 [默认值 '默认的值'] [自增] [注释 '注释的内容'],PRIMARY KEY('主键名'))[数据库表的类型-引擎] [字符集设置] [注释 '注释的内容']--[ ]上面方括号里的内容不是必须的,其他都是必须要的!
拓展(超级好用,可以偷懒)
SHOW CREATE DATABASE 数据库名 --能够查看创建数据库的语句!SHOW CREATE TABLE 表名 --能够查看创建数据库表的语句!就是上面我们手动写的那些!DESC 表名 --显示表的结构
(4)删除修改数据库表
删除数据库表
drop table if exists 表名
修改数据库表
alter table 旧表名 rename as 新表名 --修改表名------------------------------------------------------------------------------------alter table 表名 add 字段名 字段属性名 --增加字段和字段属性alter table 表名 drop 字段名 --删除字段alter table 表名 change 旧字段名 新字段名 [新字段名的新字段属性] --修改字段名[和字段属性]alter table 表名 modify 字段名 字段的新字段属性 --修改字段的字段属性,也叫修改约束

