【配置】
添加环境变量——与Java一致
初始化MySQL(管理员身份运行)
cmd: mysqld --initialize-insecure
解压后的目录下存在由data,说明初始化没有问题
注册MySQL服务
ckd: mysqld -install
启动MySQL服务
net start mysql //启动服务
net stop mysql //停止服务
修改默认账户密码
mysqladmin -u root password 设置的密码
登录MySQL
mysql -uroot -p密码
远程连接数据库
mysql -u用户名 -p密码 -h连接mysql服务器的ip地址 -P端口号
SQL
通用语法
show databases
show databases
SHOW DATABASES
SQL分类
【[]包括的意为,如果存在则删除,或 如果不存在我再创建】
注意:上述语法中的database,也可以替换成 schema
创建
create table tb_user(
id int comment "用户ID",
username varchar(20) comment "用户名称",
name varchar(10) comment "用户姓名",
age int comment "年龄",
gender char(1) comment "性别"
) comment "用户表";
约束
create table tb_user(
id int primary key auto_increment comment "用户ID",
username varchar(20) not null unique comment "用户名称",
name varchar(10) not null comment "用户姓名",
age int comment "年龄",
gender char(1) default '男' comment "性别"
) comment "用户表";
数据类型
根据上图设计数据库表
查询库,表
修改表
alert table 表名 add 字段名 类型(长度) [comment]
alert table 表名 modify 字段名 新数据类型(长度)
alert table 表名 change 旧字段名 新字段名 新数据类型(长度)
alert table 表名 drop column 字段名
rename table 表名 to 新表名
drop table [if exists] 表名
在删除表时,表中的全部数据也会被删除
DML:Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作
增:insert
insert into 表名(字段名1,字段名2...) values (值1,值2)
insert into 表名 values (值1,值2...)
insert into 表名 values (值1,值2...),(值1,值2...)
-- DML:插入数据 -insert
-- 1.为 emp 表的userName,name,gender 字段插入值
insert into tb_emp(userName,name,gender,create_Time,update_Time) values ('马浩楠','浩楠',1,now(),now());
-- 2.为 emp 表的所有字段插入值
insert into tb_emp values ('程明辉',null,'010220','明辉',2,'http...',1,'2001-03-02',now(),now());
-- 3.批量为 emp 表的 userName,name,gender字段插入数据
insert into tb_emp(userName,name,gender,create_Time,update_Time) values
('李泽','泽',2,now(),now()),('吴赛','塞',2,now(),now());
【注意事项】
插入数据时,指定的字段顺序需要与值的顺序是一一对应的
字符串和日期型数据应该包含在引号中
插入数据大小,应该在字段的规定范围内
改 update
update 表名 set 字段名1 = 值1... where 条件
-- DML:修改数据 -update
-- 1.将 emp 表 ID为1的员工,姓名name改为'张三'
update tb_emp set name='张三',update_Time = now() where id = 1;
-- 2.将 emp 表所有员工的入职日期更新为 '2010-01-01'
update tb_emp set entryDate = '2010-01-01',update_Time = now() where true;
修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的数据
删 delete
delete from 表 where 条件
-- DML:删除数据 -delete
-- 1.删除 emp 表中 ID为 1 的员工
delete from tb_emp where id = 1;
-- 2.删除 emp 表中的所有员工
delete from tb_emp;