Data base
Data base
📌 Common
SQL naming convention
- 小写。标识符应该全部用小写字母来书写,使用
first_name
,不是"First_Name"或者"FirstName"
。 - 数据类型不是名称。避免使用仅为数据类型的名字(如
text
或timestamp
)。 - 强调单独的单词。由多个单词组成的对象名称应该用下划线分隔,例如使用
word_count
或team_member_id
,而不是wordcount
或wordCount
。 - 完整的单词,而不是缩写。例如使用
middle_name
,不是mid_nm
。 - 使用常用缩写。对于几个长词而言,缩写词比词本身更为常见,比如
i18n
和l10n
,这时使用缩写。
📌 Mysql
关于
MySQL
开放远程连接
# 登录mysql
mysql -u root -p
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
📌 MariaDB
开放远程链接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
-- 说明:root是登陆数据库的用户,123456是登陆数据库的密码,*就是意味着任何来源任何主机反正就是权限很大的样子。
-- 最后配置好权限之后不应该忘记刷新使之生效
flush privileges;
📌 SQL
请至“随书下载”下载本书试读样章和相关资料。特别感谢 Master_lisa 为本书录制的学习视频,本视频仅用于读者学习,不得商用。配套视频在线观看: https://www.bilibili.com/video/av62315714 配套视频下载地址: https://pan.baidu.com/s/1zC3OShIBYxzDWrrmGs6wuw 提取码:e3z2
DBMS 代表性产品
(Relational Database Management System,RDBMS)
- Oracle Database:甲骨文公司的 RDBMS
- SQL Server :微软公司的 RDBMS
- DB2:IBM 公司的 RDBMS
- PostgreSQL:开源的 RDBMS
- MySQL :开源的 RDBMS
SQL 语句及其种类
实际使用的 SQL 语句当中有 90% 属于 DML,
DDL(Data Definition Language,数据定义语言)
用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令。
CREATE: 创建数据库和表等对象 DROP: 删除数据库和表等对象 ALTER: 修改数据库和表等对象的结构
DML(Data Manipulation Language,数据操纵语言)
用来查询或者变更表中的记录。DML 包含以下几种指令。
SELECT:查询表中的数据 INSERT:向表中插入新数据 UPDATE:更新表中的数据 DELETE:删除表中的数据
DCL(Data Control Language,数据控制语言)
用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令。
COMMIT: 确认对数据库中的数据进行的变更 ROLLBACK: 取消对数据库中的数据进行的变更 GRANT: 赋予用户操作权限 REVOKE: 取消用户的操作权限
法则
关系数据库以行为单位读写数据。
一个单元格中只能输入一个数据。
学会标准 SQL 就可以在各种 RDBMS 中书写 SQL 语句了。
SQL 根据功能不同可以分为三类,其中使用最多的是 DML。
SQL 语句以分号(;)结尾。
关键字不区分大小写。
字符串和日期常数需要使用单引号(')括起来。数字常数无需加注单引号(直接书写数字即可)。
单词之间需要使用半角空格或者换行符进行分隔。
数据库名称、表名和列名等可以使用以下三种字符。 ● 半角英文字母 ● 半角数字 ● 下划线(_)
名称必须以半角英文字母作为开头。
名称不能重复。
删除了的表是无法恢复的。在执行 DROP TABLE 语句之前请务必仔细确认。
表定义变更之后无法恢复。在执行 ALTER TABLE 语句之前请务必仔细确认。
星号(*)代表全部列的意思。
设定汉语别名时需要使用双引号(")括起来。
在 SELECT 语句中使用 DISTINCT 可以删除重复行。
WHERE 子句要紧跟在 FROM 子句之后。
注释是 SQL 语句中用来标识说明或者注意事项的部分。分为 1 行注释和多行注释两种。
SELECT 子句中可以使用常数或者表达式。
使用比较运算符时一定要注意不等号和等号的位置。
字符串类型的数据原则上按照字典顺序进行排序,不能与数字的大小顺序混淆。
希望选取 NULL 记录时,需要在条件表达式中使用 IS NULL 运算符。希望选取不是 NULL 的记录时,需要在条件表达式中使用 IS NOT NULL 运算符。
NOT 运算符用来否定某一条件,但是不能滥用。