您的位置:首页 > 数据库 > MySQL

mysql 学习笔记 day02

2015-03-10 19:40 423 查看
-- 查看变量
show variables like 'character_set%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | gbk                                                     |
| character_set_connection | gbk                                                     |
| character_set_database   | gbk                                                     |
| character_set_filesystem | binary                                                  |
| character_set_results    | gbk                                                     |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | F:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+--------------------------+---------------------------------------------------------+
修改默认字符集(5.5之后的版本)
[client]default-character-set=utf8[mysqld]character-set-server=utf8-- 校对规则show collation;-- 字符集_地区名_比较规则(ci, cs, bin)不区分大小写,区分,字节比较、show collation like 'utf8%';show collation like 'gbk8%';+----------------+---------+----+---------+----------+---------+| Collation      | Charset | Id | Default | Compiled | Sortlen |+----------------+---------+----+---------+----------+---------+| gbk_chinese_ci | gbk     | 28 | Yes     | Yes      |       1 || gbk_bin        | gbk     | 87 |         | Yes      |       1 |+----------------+---------+----+---------+----------+---------+create table tb14(name varchar(10)) character set gbk collate gbk_bin;/*mysql 的数据类型数字型:unsigned 控制是否有正负, zerofill 进行前导0填充默认有符号tinyint一个字节 表示范围-128<--->127无符号 0 <--> 255bool = tinyint(1)smallint2个字节-32768 --- 327670 --- 65535mediumint3个字节int/intege4个字节bigint8个字节*/create table tbl_int(a tinyint unsigned,b tinyint);insert into tbl_int values(255, 127);-- 报错ERROR 1264 (22003): Out of range value for column 'a' at row 1insert into tbl_int values(256, 128);-- 数据的显示宽度,设置最小宽度需要前导0填充alter table tbl_int add c tinyint (2) zerofill;insert into tbl_int values(2, 3, 5);insert into tbl_int values(24, 36, 125);+------+------+------+| a    | b    | c    |+------+------+------+|  255 |  127 | NULL ||    2 |    3 |   05 ||   24 |   36 |  125 |+------+------+------+-----------------------------------小数------------------------------------------- 支持控制位数 type(m, d) m表示总位数,d 表示小数位数-- 支持无符号:/*浮点:float4个字节7 位左右double8个字节16个有效位左右定点:decimal+65 个 9*/drop table if exists num_2;create table num_3(c decimal(10,2));insert into num_2 values(123.123,12345.123 );insert into num_2 values(1223.123,12345.123 );ERROR 1264 (22003): Out of range value for column 'a' at row 1-- 科学计数法 也可以insert into num_2 values(0.23E3, 456.2E2);-- 不丢精度, 但四舍五入insert into num_3(c) values(123456.4567);alter table num_3 add money decimal(10 ,2) zerofill;insert into num_3(money) values(123456.4567);---------------------------------日期类型------------------------------------------------/*datetime8kbyyyy-MM-dd HH:mm:ssdate3kbyyyy-MM-ddtimestamp4kb0<---->20亿2038-01-19 03:14:07time3kb一天中的时间,表示时间间隔,可以使用天来表示D HH:mm:ss-838<---->838year1kb1901----2155*/create table dt_1(a datetime,b timestamp);-- 可以填写任意格式的日期,支持两位的年份(千年虫)70 <-----> 69 不建议使用insert into dt_1 values('1992-08-04 10:34:32','2038-01-19 03:14:08');insert into dt_1 values('1992:08:04 10:34:32','2038-01-19 03:14:08');insert into dt_1 values('1992:08:04','2038-01-19');insert into dt_1 values('0000-00-00 00:00:00','2038-01-19');-- 支持 0000-00-00 00:00:00-- 例如 2013-04-0 表示 整个 4月-- 检索时间戳select b+0 from dt_1;+----------------+| b+0            |+----------------+| 19920807103434 || 20380119031407 || 20380119031408 |+----------------+-- timecreate table t_1(ago time);insert into t_1 values('5 23:23:23');insert into t_1 values('232323');+-----------+| age       |+-----------+| 23:23:23  || 23:23:23  || 143:23:23 |+-----------+-- yearcreate table y_1(`begin` year);insert into y_1 values('2155');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  msyql