【凯盛Mysql教程笔记】
1.[ ]中括号里面,使用的是变量
2.-u用户名 -p密码 -h非本机IP。例如:mysql -uroot -p111111
3.show databases;列出之前的数据库
4.use 数据库名 针对数据库
5.show tables; 列出表
6.desc 表名,查看表结构针对表,insert into 表名;update 表名
7.select now(),version(),… 命令提示符里用
8.decimal(12,2)整数位+小数位 varchar
9.命令不需要分号,SQL语句才需要,分号加进去就纳到密码里了
10.命令提示符的结果和Navicat结果不同时,是因为权限的问题
11.主键 ID,auto_increment 不能重复,默认叫ID.逐渐值不能NULL,和业务无关,不更改不重用。唯一不变的东西,就是一直在变。
12.drop 表名 删除表
13.default 'USA' 默认值 unique唯一值
14.alter 加字段 update更新内容
15.更改表名 rename table 原表名 to 新表名。
添加列alter table 表名 add 列名 条件、删除列 drop column列名、
16.SQL导出(dos状态):mysqldump -hlocalhost -uroot -proot 数据库名>C:/文件名.sql 不能加分号
SQL导入(mysql状态):source C:/文件名.sql; 必须加分号
17.truncate table 表名 清除记录
18.in( , , , )他或者他 或者他或者他
1.delete from t_user;删除全部记录
drop table t_user;删除表
truncate table 表名;清空表记录(速度比delete 快)
2.三大范式
1)确保每列的原子性
2)在第一范式的基础上,确保每列都和主键相关
3)在第二范式的基础上,确保每列都和主键直接相关,而不是间接相关
3.创建外键
>alter table t_user add schoolid int;
>alter table t_user
add constraint fk_student_cus
foreign key(schoolid)
references
t_school(id);
删除外键
alter table t_user
drop foreign key fk_student_cus
4.基本查询
去除重复记录
>SELECT DISTINCT vend_id FROM products;
分页
>SELECT * FROM products LIMIT 5(显示前5个);
>SELECT * FROM products LIMIT 0,5(从0开始显示5个);
>SELECT * FROM products LIMIT 5,5(从5开始显示5个);
5.多列排序
>SELECT * FROM products ORDER BY prod_price ASC,prod_name ASC;
>SELECT * FROM products WHERE (vend_id = '1001' OR vend_id = '1003') AND prod_price > 10;
6.通配符搜索使用的时间比其他搜索的时间长• 如果确实需要使用通配符,除非绝对有必要,否则不要把通配符放到WHERE子句的开始处,把通配符放到搜索模式的开始处,搜索起来是最慢的。
7.有外键列的表叫做子表,被引用的表叫做主表。