学习目标:
精通MySQL
学习内容:
1.MySQL服务启动:
(1)手动
(2)cmd==>services.msc
(3)使用管理员打开cmd:
net start mysql:启动MySQL
net stop mysql:关闭MySQL
2.MySQL登录
(1)mysql -uroot -proot
(2)mysql -hip -uroot -p连接目标的密码
(3)mysql --host=ip --user=root --password=连接目标的密码
3.退出MySQL
(1)exit
(2)quit
4.SQL通用语法
(1)SQL语句可以单行或者多行书写,以分号结尾
(2)可使用空格和缩进来增强语句可读性
(3)MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
(4)注释方法:
单行:
– 注释内容(此处必须有缩进)
#注释内容(此处可以有缩进,可以无)
多行:
/* 注释内容 */
5.DDL:操作数据库、表
1.操作数据库:CRUD
(1)C(Create):创建
创建数据库:create database 数据库名称;
**创建数据库,判断不存在,再创建:create database if not exists 数据库名称;
/创建数据库,并指定字符集:create database 数据库名称 charatcer set 字符集名;
**练习:创建db4数据库,判断是否存在,并制定字符集为gbk
create database if not exist db4 character set gbk;
(2)R(Retrieve):查询
查询所有数据库名称:show databases;
**查询某个数据库的字符表:show create database 数据库名称;
(3)U(Update):修改
修改数据库字符集:alter database 数据库名称 character set 字符集名称
(4)D(Delete):删除
**删除数据库:drop database 数据库名称;
**判断数据库是否存在,再删除:drop database if exist 数据库名称;
(5)使用数据库
*查询正在使用的数据库名称:select database();
*使用数据库:use 数据库名称;
2.操作表
(1)C:Create:创建
语法:
create table 表名(
列名1 数据类型1,
列名2 数据类型2,
列名3 数据类型3,
…
列名n 数据类型n (这行结尾不要加逗号)
);
数据库类型
1.int:整数类型
*age int,
2.double:小数类型
*score double(5,2)
3.date:日期,只包含年月日,yyyy-MM-dd
4.datetime:日期,包含年月日时分秒 yyyy-MM-dd:mm:ss
5.timestamp:时间错类型 包含年月日时分秒 yyyy-MM-dd:mm:ss (如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值)
6.varchar:字符串
*name varchar(20):姓名最大20个字符
*创建表
create table student (
id int,
mane varchar(32),
age int,
score double(4,1), (4,1)代表小数总共5位,小数保留2位
birthday date,
insert_time timestamp
);
(2)R:Retrieve:查询
*查询某个数据库中所有表的名称:show tables;
*查询表结构:desc 表名称;
(3)U:Update:修改
1.修改表名:alter table 表名 rename to 新的表名;
2.修改表的字符集:alter table 表名 character set 字符集名称;
3.添加一列:alter table 表名 add 列名 数据类型;
4.修改列名称 类型:
alter table 表名 change 列名 新列名 新数据类型;
alter table 表名 modify 列名 新数据类型;
5.删除列:alter table 表名 drop 列名;
(4)D:Delete:删除
*drop table 表名;
*drop table if exist 表名;
学习时间:
20240523-20240527