mySQL 重点
自己在学习的过程中,总结了一些知识点:
1. 安装mysql;
google it.
2. 新建database,table;
create database database_name;
create table table_name;
3. 查看现有database,table,以及table中各个column之间的关系
show databases;
use database_name;
show tables;
desc table_name;
4. 修改现有table
alter table table_name +action,其中action如下:
1‘,增加一个column
add column column_name type;
2', 修改一个column
modify column_name newtype;
3', 修改一个column的名字和类型
change oldname newName newtype;
4', 去掉一个column
drop column column_name;
5', 重新命名table
rename newTableName;
5. mysql中数据类型
文本数据类型:char和varchar,用法以及区别;
数值型数据类型:整数(int,smallint),浮点数(float,double),定点数 (decimal);
日期和时间:时间(time),日期(date),日期和时间(datetime);
6. 完整性约束
1',PRIMARY KEY: 主键约束,只有一个
2',UNIQUE: 唯一性约束
3',NOT NULL 非空值约束
4', AUTO_INCREMENT 整数列默认自增1,只使用与unique的;
5', DEFAULT default_value 默认值约束
6', FOREIGN KEY :外键约束
了解并熟悉各种约束的用法,能够动态增加和删除各个约束;
7. 数据表增加数据操作
1'. 为每个feild指定值
INSERT INTO table_name
VALUES('field1','field2');
2', 插入表格中指定的feild
INSERT INTO table_name(column1,column2)
VALUES('value1','value2');
3', 一次插入多个数据
INSERT INTO table_name
VALUES('field1','field2'),('field1','field2'),...('field1','field2');
4. 从另一个表格中copy数据到一个表格中
INSERT INTO table_name(column_name(s)) select column(s) from another_table;
8. 数据表删除操作
1',删除满足条件的record
DELETE FROM table_name where someColumn=somevalue;
2',删除整个表中中的record
DELETE FROM table_name;
TRUNCATE TABLE table_name;
DELETE * FROM table_name;
9. 数据表改操作
1',修改已有record
UPDATE table_name
SET column1 = value1, column2 = value2
WHERE some_column = some_value;
10. 数据表的查操作
SELECT [DISTINCT/DISTINCTROW/ALL] FROM table_name
WHERE where_definition
GROUP BY column_name
HAVING where_definition
ORDER BY column_name [ASC/DESC]
LIMIT num;
11. 各个查询操作
FROM:指定查询数据的表
WHERE: 查询数据的过滤条件
GROUP BY: 分类
HAVING : 对分组后的结果进行条件限制
ORDER BY: 排序,DESC,降序;ASC,升序
LIMIT: 显示查询的个数
12. 掌握GROUP BY的用法
select count(*) as num,Name from copyTable group by ID,Name having num>1;
13. 掌握WHERE语句中使用到的比较运算符
1', =,!=,<>,<=,>=,<,>的用法;
2', IN,NOT IN,在/不在某个子集中;
3', [NOT] BETWEEN AND:在/不在。。。之间
4‘. [NOT] LIKE:SQL 模式匹配,常用%和_;%代表任意多个字符,而_代表一个字符
5’. IS [NOT] NULL:判断是否为空
6‘. [NOT] REGEXP:正则表达式匹配
14. 多表查询
INNER JOIN/LEFT JOIN/RIGHT JOIN区别
15. 建立3个简单数据表,A->B->C,其中A->B为1到多的关系,B->C为多到多关系。
熟悉外键约束,建立1对多,多对多关系;