首页 > 代码库 > mysql学习笔记
mysql学习笔记
前短时间学习了几天的mysql,也就是局限于一些简单的SQL语法,做了几天的笔记,打算5天以后
拿上来的,但是因为电脑出现点问题,所以不知道怎么回事就不见了,索性重头学过一下,这次我看
的是mysql技术内幕,感觉不错,希望我笔记中理解错误的地方大家指点一下
第一天:
创建一个mysql账号:create user ‘新的用户名’@‘localhost’identified by ‘口令’;
Now()显示当日日期和时间,user()显示当前的用户,version()显示数据库的版本
使用“;”把一行上输入多条语句:select now();select();
显示当前数据库select database()和show databases不一样,后者是显示用户里有多少个数据库,并将其列出来。但前者是显示当前使用的数据库。当当前没有使用某个数据库的时候select database()显示为NULL。
可以通过在进入mysql的时候直接使用数据库,mysql –p –u user databasename;
日期类型date 默认形式“yyyy-mm-dd”
自动增长类型 auto_increment,如果没有给列的值将自动增加.
Primary key(columns_name),作为索引,主键
使用describe来描述表格的详细信息
与其相同作用的还有desc member;explain…;show columns from member;show flelds from member
但是Show full columns from table_name,表格的全部信息,和describe是不同的含义。
在表格创建时规定类型engine=”…” ,如果没有指定,默认的类型为MyISAM
ENUM(…)的用法,数据的取值只能够是enum中的一个:enum(‘Y’,’N’)那么数据只能取Y或N其中的一个
Describe 不仅可以描述整个表的结果,还可以描述单个列:describe table_name‘columns’
PRIMARY KEY(student_id,event_id):student_id和event_id两个的组合为主键
Index():索引,让mysql更快的搜索到
Foreign key(...) references …作用是将这个表中的列和其他表中的相关联,这样score就不会产生一个不存在的student_id或event_id;
对于为什么student_id有一个索引,这是因为对于froeign定义的的每一个数据列,要么它本身是一个索引,要么本身有索引的性质,而刚还primary key本身有索引的作用,所以第一个event_id已经有索引的作用,但是student_id却没有这个作用,所以用索引student_id;
没有依赖的表格先创建,ps:frogign key…references…references后面的将先创建,然后前面的在创建。如果要将表格丢弃,顺序刚好是相反的,
插入表格数据的各种方法:
(1) insert into table_name values(value);
(2) insert into table_name values(value1),(value2),(…);
(3) insert into table_name(column1,column2),values(‘1_columns’,’2_columns’)给出列名,然后赋值,(可以多个或一个赋值)