mysql学习笔记

set names utf8; // 设置数据库字符集

alter database db_name character set gbk;//更改数据库字符集


show create table table_name\G;=describe tablename;

show database like '';

drop table is exists table_name;

rename table old_name to new_name;--修改表名。

rename table a to b, c to d;--支持多个表同时改名。


rename table a to db.b;//支持跨数据库重命名。可以帮助数据库重命名。

修改列的定义:alter table table_name add|drop|change|modify--change
 alter table test change remak fenshu int;-- 要保证所修改的名称的类型与当前表时的数据类型是一致的。


where 1 ( where 1=1; )  0:false    1:true


insert into table_name values();


update table_name set column='' ;


ord()与chr() //作用:将字符转为十进制

show variables like ''; // show variables like 'character%';

set character_set_client = gbk; //设置客户端的传递过来的的编码
set character_set_result = gbk; //设置服务端按什么编码返回
set names gbk; //这里是一次性把上面的字符集设置
 


create table name()character set gbk collate gbk_chinese_ci/gbk_bin; //设置字符集和校对规则(排序是否区分大小写等)


校对规则,建立在字符集之上的比较字符的大小,用于排序。show collaction;
          字符集_地区名_校对规则(ci,cs,bin)


show collation;show character set;


一个实体约束另一个实体的关系:外键(谁是谁的外键)
主键是实体内部的约束。



set names gbk; 跟表设置的character set 没关系。 一个是与客户端交互的字符集,另一个是数据存储的字符集。

\G 跟 ;
区别。


alter table tab_name drop foreign key key_name;
alter table tab_name add 外键定义;


三范式: Normal Format   

1.原子性

2.原则上不用实体属性来作为表的主键(如果一个实体用了本身的属性来作为主键的话会产生:部分依赖 ,即后面一个值的产生需要依赖于主键)

3.没有数据的冗余,把不相关的属性分化成一个实体(传递依赖)



实体间的关系指向原则:多的一方指向少的一方。


特殊语句:
select 10;

select 3>1; 0/1

insert into tab values(),(),();


select 'a' like 'a'; like相当于运算符,用于字符串的模糊匹配。也就是说不是要与where子句一起出现。

select null is null, null is not null, null !=null,null = null;
select null<=>null, 10<=>null;//用于比较null

select 1>'abcd';//跟php的比大小类似


select interval(90,60,70,80,90,100);


group by 有排序的作用。
group_concat(字段名) 常用。原因,做了分组,只能组显示组内的信息。如果需要显示,可以把结果连起来。

聚合函数不能出现在where子句中,原因是聚合函数在where子句之前执行。





select concat(a,b) from tab;

select * from tab1,tab2;//默认情况,相当于交叉链接的结果(笛卡尔积)。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值