MySQL初体验
端口号设置:使用默认端口号
默认字符集:utf8
配置信息:my.ini
如果你修改了配置内的信息 要重启mysql
mysql服务安装完成后,自带4个系统数据库
1.information-schema:存储系统值用户信息,字段信息,权限信息,字符集信息,分区信息等数据库对象
2.mysql:用户权限信息
3.performance-schema:性能参数信息
4.sys:
关闭数据库指令
net start mysql157
连接数据库指令
mysql -u 用户名 -p密码 ( 连接本地)
连接远程数据库指令
mysql -h 远程数据地址 -u用户名 -p用户密码
查看MySQL的版本信息
select version(),user();
创建数据库指令
Create database hospital 创建一个医院的数据库
查看已存在的数据库
show DATABASES;
切换数据库
use test; 如果数据库名称不存在 Unknown database
删除数据库
DROP DATABASE 表名;
数据库本地地址
127.0.0.1或者localhost
创建用户并授权
Create USER ‘dong’@‘%’ IDENTIFIED BY ‘123’;
授权:
GRANT 用户的操作权限 ON databasename.tablename TO ‘username’
SQL语句的四个组成
1.操作语句 insert、update、delete (数据操作语言 DML)
2.查询语言 select (数据查询语言 DQL)
3.定义语句 create、drop… (数据定义语句 DDL)
4.控制语句 grant … (数据控制语句 DCL)
ZEROFILL
宽度不足以0补充
数据类型
数值类型
数据类型 | 字节数 | 取值范围 |
---|---|---|
tinyint | 1 | ±2的7次方 |
int | 4 | -2的32次方+2的31次方-1 |
float | 4 | |
double | 8 | |
当宽度范围不足以0补全ZEROFILL
字符串类型
char(3):固定长度
varchar(5):可变长度
TINYTEXT:微型文本
TEXT:文本
日期类型
date:yyyy-mm-dd
datetime:
time:hh:mm:ss
timestamp:yyyymmddhhmmss
year:yyyy格式 取值范围 1901-2155
如果你的默认值是当前时间的话,你的字段类型必须是timestamp
建表语句
CREATE TABLE if not EXISTS student(
stuNo INT(4) PRIMARY KEY COMMENT '学号',
stuName CHAR(4) NOT NULL COMMENT '学生姓名',
address VARCHAR(50) NOT NULL COMMENT '家庭住址',
birthDay DATE COMMENT '生日',
enterYear YEAR COMMENT '入学年限',
createTime TIMESTAMP COMMENT '创建时间' DEFAULT NOW()
//
#设定主键
PRIMARY KEY(stuNo)
) COMMENT '学生表';
每一列以英文的逗号分隔,
注释 单行# 多行/**/
属性之间要有空格
对表中的字段进行约束
1.主键约束:primary key
2.外键约束:foreigh key (FK)
3.非空约束:NOT NULL
4.默认约束:default
5.唯一约束:UNIQE KEY(UK) 设置字段的值是唯一的
自动增长:AUTO_INCREMENT
主键约束可以直接放在字段后定义,也可以字段全部定义完成 在字段后面定义主键
设置表字符集 和 备注 存储引擎
REATE TABLE if not EXISTS student(
…
) COMMENT ‘学生表’ CHARSET = utf8 engine = InnoDB
数据引擎
常用的数据引擎
InnoDB:多删除、更新操作、安全性高、事务处理及并发控制
MyISAM:不需要事物、空间小、以查询访问为主
查看当前引擎指令
SHOW ENGINES;
查看当前数据库中全部的表
show TABLES
查看表结构
desc 表名
防止dos窗口默认的编码格式是gbk 我们通过设置mysql的编码格式是utf8 可能会出现乱码
在输出信息前 可以先执行 set names gbk;
删除表的语句
drop table 表名