连接数据库
mysql已经安装好了,那如何连接数据库呢?
- 在DOS命令行窗口进入 安装目录\mysql\bin
- 可设置环境变量,设置了环境变量,可以在任意目录打开!
mysql -uroot -p123456
操作数据库
结构化查询语句分类:
名称 解释 命令
DDL (数据定义语言) 定义和管理数据对象,如数据库,数据表等 CREATE、DROP、ALTER
DML (数据操作语言) 用于操作数据库对象中所包含的数据 INSERT、UPDATE、DELETE
DQL (数据查询语言) 用于查询数据库数据 SELECT
DCL (数据控制语言) 用于管理数据库的语言,包括管理权限及数据更改 GRANT、commit、rollback
数据库操作
创建数据库 : create database ceshi;
删除数据库: drop database ceshi;
查看数据库: show databases;
使用数据库: use ceshi;
常用数据库单词:
create 、drop、use、show、table、column、user、select、insert、delete、update、join、on、
where、left、right、ddl,dml, alter,index,sequence
列类型 : 规定数据库中该列存放的数据类型
mysql 常见数据类型: MySQL支持多种类型:
大致可以分为四类:数值型、浮点型、日期/时间和字符串(字符) 类型
decimal(M,N) M 表示总位数,N 表示小数点位数, 如果M 超过报错,小数超出,四舍五入:
例子:
create table test(a int,b decimal(3,2));
创建一个表test,列为a,b 其中a类型为int类型,b类型为decimal,总位数为3位,其中2位小数
小数点可以截取,但是整数部分就直接报错了
使用比较多的是varchar(20) 类型,表示最大可以输入20个字符:
create table test1(a int,b varchar(20));
其中char(5) 表示如果你定义5个字符,即使你插入一个,也插入了5个字符:
日期类型
insert into test3 values(1,‘2022-01-01 12:00:00’);
NULL值
- 理解为 “没有值” 或 “未知值” 不要用NULL进行算术运算 , 结果仍为NULL
Auto_InCrement
自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认)
通常用于设置主键 , 且为整数类型可定义起始值和步长
当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表
SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局)
create table test4(a int,b int AUTO_INCREMENT primary key);
自动增长一般和主键在一起:
NULL 和 NOT NULL
默认为NULL , 即没有插入该列的数值
如果设置为NOT NULL , 则该列必须有值
DEFAULT
默认的
用于设置默认值
例如,性别字段,默认为"男" , 否则为 “女” ; 若无指定该列的值 , 则默认值为"男"的值
create table test6(a int ,b int default 5);
– 目标 : 创建一个school数据库
– 创建学生表(列,字段)
– 学号int 登录密码varchar(20) 姓名,性别varchar(2),出生日期(datatime),家庭住
址,email
– 创建表之前 , 一定要先选择数据库
CREATE TABLE IF NOT EXISTS student
(
id
int(4) NOT NULL AUTO_INCREMENT COMMENT ‘学号’,
name
varchar(30) NOT NULL DEFAULT ‘匿名’ COMMENT ‘姓名’,
pwd
varchar(20) NOT NULL DEFAULT ‘123456’ COMMENT ‘密码’,
sex
varchar(2) NOT NULL DEFAULT ‘男’ COMMENT ‘性别’,
birthday
datetime DEFAULT NULL COMMENT ‘生日’,
address
varchar(100) DEFAULT NULL COMMENT ‘地址’,
email
varchar(50) DEFAULT NULL COMMENT ‘邮箱’,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
– 查看数据库的定义
SHOW CREATE DATABASE school;
– 查看数据表的定义
SHOW CREATE TABLE student;
– 显示表结构
DESC student;
CREATE TABLE 表名(
– 省略一些代码
– Mysql注释
– 1. # 单行注释
– 2. /…/ 多行注释
)ENGINE = MyISAM (or InnoDB) #现在默认都是innodb
MySQL数据表以文件方式存放在磁盘中
包括表文件 , 数据文件 , 以及数据库的选项文件
位置 : Mysql安装目录\data\下存放数据表 . 目录名对应数据库名 , 该目录下文件名对应数据表
注意 :
InnoDB类型数据表只有一个 *.frm文件 , 以及上一级目录的ibdata1文件
查看数据文件目录: