Mysql基础
1.基础知识
1.1 sql
SQL包含6个部分:
一:数据查询语言(DQL):
其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。
二:数据操作语言(DML):
其语句包括动词 INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。
三:事务处理语言(TPL):
它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
四:数据控制语言(DCL):
它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
五:数据定义语言(DDL):
其语句包括动词 CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
六:指针控制语言(CCL):
它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。
书写规则:
1.在数据库中,SQL语句大小写不敏感
2.SQL语句可单行或多行书写
3.在SQL语句中,关键字不能跨多行或缩写
4.为了提高可读性,一般关键字大写,其他小写
5.空格和缩进使程序易读
1.2 两种登录方式
方法一:用MySQL自带的客户端开启
方法二:用dos命令开启
1.3数据备份
方式一:利用dos命令
Step1:
Step2:
方式二:用Navicat工具 :
Step1:
Step2:
备份后文件的位置:
查看位置Step1:
查看位置Step2:
转存为sql格式
用以上方式备份的文件为psc格式,只能被Navicat打开,于是可以将其备份为sql文件:
关于效率问题
多条insert into 效率相对较低
一条insert into 加入多条数据 效率相对较高
1.4关于mysql中的类型
①int(n)
例如,指定一个字段的类型为 INT(3),就可以保证所包含数字少于 3 个的值从数据库中检索出来时能够自动地用 0 填充。
②FLOAT[(s,p)] ,DOUBLE[(s,p)] :
小数类型,可存放实型和整型 ,精度§和范围(s) money double(5,2): 整数和小数一共占5位.其中小数占2位.
③char(size) 和 varchar(size) 区别
1) char 表示固定长度 表示占用size个字节 ,不够的话用空格补足
varchar则是实际长度加1
2) char 和 varchar 相当于 java 中的String
④和java中有区别的类型 (重点记忆)
mysql | java |
---|---|
BIGINT | long/Long |
DECIMAL | BigDecimal |
varchar、char | String |
DATE、DATETIME | Date、Calender |
BIT(一般存储0或1) | Boolean/boolean |
⑤MySQL中的日期和时间类型
2.sql语句
①Mysql特有语句
插入多条语句
INSERT INTO table_name (column1,column2,column3…) VALUES (value1,value2,value3),(value1,value2,value3)…
②消除重复(查询)
SELECT DISTINCT 列名…
③别名
别名中有特殊字符 如空格 需要 加( ) 变整体
如:select column (成 本 价) from table…
查询表中的column列 并为其起别名 ‘成 本 价’
④拼接用到CONCAT
如 要得到的查询结果为 productName的价格为productPrice
则用到 SELECT CONCAT(productName,‘的价格为’,productPrice) from …
⑤Sql查询语句的执行顺序
(1) from: 需要从哪个数据表获取数据
(2) where: 给出过滤数据表中数据的条件
(3) group by: 将过滤出的数据进行分组
(4) having: 给出对分组的数据进行过滤的条件
(5) select: 取出结果集中的某个列,或者某个列的计算结果
(6) order by: 按照某种顺序对返回的数据进行排序
取别名的操作在select 语句执行 故select 前的操作都要用 原来名字
⑥运算的执行顺序
优先级 | 运算符 |
---|---|
1 | 所有比较运算符 |
2 | NOT |
3 | AND |
4 | OR |
注意:括号跨过所有优先级顺序
⑦like运算符
%表示不存在字符,存在一个或多个字符
_表示一个字符
⑧多列排序
order by 列名1 顺序,列名2 顺序…
表示先按照列名1 排序 ,再按 列名2 排序 …