1. 规约
说到约束,就不得不想到命名规范,跟java一样,mysql也有一套自己的命名要求
-
库名尽量与业务名称一致,比如这是一个办公系统,你可以命名 将数据库命名为office, 多个单词组成全小写 例如:officeoa
-
表名 不使用复数
-
表名、字段名必须使用小写字母或者数字;禁止出现数字开头,禁止两个下划线之间只出现数字
(正确:user_info 、task_config 、level2_info)
(不正确:UserInfo 、taskConfig 、level_3_info )
- 禁止使用保留字,如:des、range、match、delayed 等
MySQL 5.7 Keywords and Reserved Words (官方列出的)
https://dev.mysql.com/doc/refman/5.7/en/keywords.html#keywords-in-current-series
- 表必备三个字段:id (自增 且是 主键)、创建时间、修改时间
这些就是最基本的规范了,其他什么字段类型选择(时间用 dateTime,小数用decimal),索引命名等等,等我们建表实践再说明,这样记忆会更深刻
2.DBeaver 简单使用
这边我们使用可视化工具,先建立一个数据库,一张表,并且添加相关字段,刚好把规范约束进行实践
不管你是使用 Navicat 还是 我推荐的DBeaver 数据库可视化工具分享 (DBeaver) 没有强制要求,就看个人喜好,哪个舒服就用哪个?
还能受这气?答案是能,为了五斗米而折腰 ,公司不给用navicat
其实操作还是八九不离十,知道在哪建库建表,写语句就行 【一种植物】
1. 建库
这边我就简单的命名为 testdb了,字符集选择utfdmb4原因是 可以使用富文本,表情那些东西可以存储
2. 建表
表名遵循规则
3. 字段
已经创建了id,为自增,现在要设置他为主键,navicat 创建字段的时候,点一下会有个 钥匙 (这样就说名是主键了),在 这款工具中,先要选择约束,然后在右边空白格子处右键,
勾选 主键 字段,选择类型 primary key 点击确定就好了
保存,就会出现sql语句,点击执行
这也是这款工具好的地方,会有建立 SQL 脚本语句 出现,方便查缺补漏,以及后续运维需要脚本可以直接复制过去
3. MYSQL基本语法
- 新增
INSERT INTO table_name ( 字段1, 字段2,...字段n)
VALUES
( 值1, 值2,...值n);
字段跟值 个数 需要一一对应,字段多少个,值就有多少个,空也得写 null 或者 “ ”
值的类型得跟字段类型对应,不能int类型 写 字符串 ,时间类型写数字
INSERT INTO user_info (name,age,sex,create_id,create_time,update_id,update_time)
VALUES
("张三",18,1,1,'2022-11-08',1,'2022-11-08');
- 修改
UPDATE table_name SET 字段1="新的值", 字段2="新的值"
where 跟条件
UPDATE user_info SET name="李四", age="20"
where id=1
这时候主键的作用就出来了,根据唯一标识修改
- 查询
查询这个东西就玩的很花了,简单查询,复杂查询,关联查询,子查询 等等等等,我们这边先简单介绍 查询所有 以及 带条件查询
为了更好演示我们再加一条数据
查询全部
select * from user_info
但是不要用 * 查询全部,这样会全表扫描,非常影响性能
应该把要查的字段一个一个列出来
select id,name,age from user_info
带条件查询
select id,name,age,create_id,create_time,update_id,update_time from user_info where id =2
select id,name,age,create_id,create_time,update_id,update_time from user_info where name = "李四" and age= 20
- 删除
DELETE FROM table_name where 条件
DELETE FROM user_info where id = 2
可以看到id为2 的王五 被删除了
以上就是mysql 基本命名规范 以及 基本 语句 了