mySql常用笔记记录

来源:互联网 发布:win7cf网络出现异常 编辑:程序博客网 时间:2024/06/11 17:36

1. MySQL数据库的安装,设置,进入和退出

    mysql > mysql -u root -p回车              ****回车    mysql > exit回车

2. 创建/使用/查看/删除数据库

    create database 数据库名;(以分号结束),SQL命令大小写无关       show databases;     use 数据库名;

3. 修改、备份、恢复数据库数据

备份:   c:\> mysqldump -u root -p mydb2 > d:\mydb2.sql回车(可以无分号结束)        密码回车        注意:该SQL命令是MySQL特有的,必须是MySQL环境外执行,即WindowXp环境中执行   恢复:   mysql:\> source d:\mydb2.sql;回车(需要分号结束)   注意:该SQL命令是MySQL特有的,必须是MySQL环境中执行。

4. 创建/查看/修改/删除表

    create table 表名      show create table 表名    desc 表名    drop table 表名

5. 表的 增删改 操作

    insert 比如:insert into emp values(5,"lisi",3000,12,222,"");    update    delete fromtruncate tabledrop table(使用delete语句仅删除记录,不删除表本身。如要删除表,使用drop table语句。)    delete from:按行删除表中的所有记录,但会保留表,适合删除数据量不大的数据,可按条件删除    truncate table:复制原表结构-〉一次性删除整表 -> 自动恢复原表结构,适合删除数据量较大的数据,不能按条件删除    drop table:删除表本身
 删除记录时,一定要留意表间的关联关系

6. 表的 查询 操作

    select distinct/*/列名 from 表名    select 表达式/对列名加别名 from 表名        NULL+X=NULL    where子句,出现在from后面,where是按行筛选    逻辑运算和关系运算    排序:NULL值为最小,使用order by子句,默认升序,order by子句必须放置在最后

7. 表的 操作

    增加一列:alter table emp add name varchar(10);    修改一列:alter table emp modify name varchar(30);    删除一列:alter table emp drop name;    修改表名:rename table emp to employee;    修改表的字符集:alter table emp character set UTF8;    显示字符集: show variables like 'character%';    修改列名:alter table emp change column empname(原列名) name(新) varchar(20);    修改一列的所有值为某一值:update emp set salary=10000;       修改一列的某一值:update emp set salary=1000 where name="lisi";    修改一列的某一值增加固定值:update emp set salary=salary+2000 where name="lisi";    删除一条记录:delete from emp where id=1;

8. 复合函数

    count()函数,统计之用,不统计NULLsum()函数,统计和之用,不要统计非数值,如果统计非数值,返回0

9
where 和 having区别:

where主要用于行过滤器
having主要用于类别过滤器,通常有having就一定出现group by,但有group by的地方,不一定出现having。
10表的完整性
(1)实体完整性:每条记录有一个唯一标识符,通常用无任何业务含义的字段表示
(2)参照完整性:一张表的某个字段必须引用另一张表的某个字段值
(3)域完整性:域即单元数据,域中的数值必须符合一定的规则

11键的概念
(1)主键:只有唯一字段
(2)组合主键:由多个字段组合起来,形成唯一字段
(3)外键:针对多张表之间的关联

12主键的特点
(1)主键不能重复
(2)主键不能为NULL
(3)auto_increment是MySQL特有的,默认从1开始,该ID值与表同生亡
(4)多人项目中,通常使用UUID来生成唯一的主键值,便于多个合并数据时依然保持实体完整性
13唯一约束的特点
(1)非NULL值不能重复
(2)可以插入多个NULL值
(3)’NULL’空串和NULL是不同的概念

14非空约束特点
(1)不能插入NULL值
(2)主键约束=非NULL约束+唯一约束

15外健特点
(1)外键值必须来源于所引用别一个表主键值,或NULL

16关联关系
(1)一对一(外健根业务有关)
(2)一对多或多对一(外键放置在多方)
(3)多对多(外健放置在关联表中,即将一个多对多拆分成二个一对多关系)
11其他函数

//到年底还有几少天?select datediff('2011-12-31',now()); //截取字符串select substring('mysql',1,2); //从1开始//保留小数点后2位(四舍五入)select format(3.1415926535657989,3);  //向下取整(截取)select floor(3.14);select floor(-3.14);select floor(3.54);select floor(-3.54);//取随机值select format(rand(),2);//取1-6之间的随机整数值select floor(rand()*6) + 1;//随机产生'a'-'z'之间的随机字符//(1)查询'a'-'z'对应的Unicode值   select ascii('a');//97   select ascii('z');//122//(2)产生97-122之间的随机整数   select floor(rand()*26)+97;//(3)产生97-122对应的字符   select char(floor(rand()*26)+97);//对密码'123456'进行MD5加密。select md5('123456');
0 0
原创粉丝点击