首页 > 代码库 > mySQL 重点

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对多,多对多关系;

mySQL 重点