创建数据库
核心三条:
1 2 3
   | create database bigdata; grant all privileges on *.* to jspon@'%' identified by '123456'; flush privileges;
   | 
 
在登录mysql的时候 mysql -urooot -p   -和p之间不能有空格
show processlist
1 2 3 4 5 6 7 8
   | mysql> show processlist; +----+------+--------------------+---------+---------+------+-------+------------------+ | Id | User | Host               | db      | Command | Time | State | Info             | +----+------+--------------------+---------+---------+------+-------+------------------+ |  5 | root | localhost          | NULL    | Query   |    0 | init  | show processlist | |  6 | root | 192.168.52.1:62593 | bigdata | Sleep   |    3 |       | NULL             | |  7 | root | 192.168.52.1:62594 | NULL    | Sleep   |   21 |       | NULL             | +----+------+--------------------+---------+---------+------+-------+------------------+
   | 
 
如果我们的mysql服务夯住了,可以查看是哪个sql导致的,查找消耗时间长的,确认好可以kill后,可以杀掉该sql
杀掉sql   kill id  杀掉对应的id即可
MySQL的字段类型
数值类型
	int 整数
	long 长整型
	float 单精度
	double 双精度
	decimal  小数值  金额
字符串类型
	char 字节        定长 0-255字节 axxxxxxxxx 会自动补全 255字节
	varchar  字符串  变长 0-65535字节  a
日期
	date 日期  YYYY-MM-DD
	time 时间 HH:MM:SS
	datetime  年月日时分秒 YYYY-MM-DD HH:MM:SS
	timestamp 年月日时分秒 YYYY-MM-DD HH:MM:SS
建表规划
建表实例:
1 2 3 4 5 6 7 8 9 10 11
   | create table student( id int(11) not null auto_increment, name varchar(200), age  int(3),
  createuser varchar(200) , createtime timestamp not null default current_timestamp, updateuser varchar(200) , updatetime timestamp not null default current_timestamp on update current_timestamp, primary key (id) );
   | 
 
建表剖析:
1.表的名称 字段的名称不要是中文也不要是汉语拼音
2.统一建表的风格例如创建时间:create_time
3.表中的第一个字段必然是 id 自增长的 主键 无意义,设置的目的是使MySQL能够高性能的存储和查询
MySQL使用自增长主键的优势 https://www.jianshu.com/p/b8d6d809fce3
4.表中的的主键设置成id时候,业务字段需要唯一时候可以使用唯一性约束 unique
在约束里面进行设置添加新的约束字段
一张表只能够有一个主键
主键 = unique + not null
1 2
   | ALTER TABLE bigdata.student ADD CONSTRAINT student_un UNIQUE KEY (name) ;
   | 
 
5.最后的四个字段建议都加上
1 2 3 4
   | createuser varchar(200) , createtime timestamp not null default current_timestamp, updateuser varchar(200) , updatetime timestamp not null default current_timestamp on update current_timestamp,
   | 
 
最后一个为设置修改时间
6.业务字段要加上注释
COMMENT '用户名称’
COMMENT ‘用户年龄’
7.字符集和引擎
建表语句中有默认的引擎和字符集
1 2 3 4 5 6 7 8 9 10 11
   | CREATE TABLE `student` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `name` varchar(200) DEFAULT NULL,   `age` int(3) DEFAULT NULL,   `createuser` varchar(200) DEFAULT NULL,   `createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,   `updateuser` varchar(200) DEFAULT NULL,   `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,   PRIMARY KEY (`id`),   UNIQUE KEY `student_un` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1
   | 
 
1 2 3 4 5 6 7
   | mysql> show create database bigdata; +----------+--------------------------------------------------------------------+ | Database | Create Database                                                    | +----------+--------------------------------------------------------------------+ | bigdata  | CREATE DATABASE `bigdata` /*!40100 DEFAULT CHARACTER SET latin1 */ | +----------+--------------------------------------------------------------------+ 1 row in set (0.00 sec)
   | 
 
DEFAULT CHARACTER SET latin1 默认的数据库的字符集是拉丁字符集
字符集分类:数据库字符集、表字符集、列字符集
1 2 3 4 5 6 7 8 9 10 11 12 13
   | mysql> show variables like '%char%'; + | Variable_name            | Value                                                         | + | character_set_client     | utf8                                                          | | character_set_connection | utf8                                                          | | character_set_database   | latin1                                                        | | character_set_filesystem | binary                                                        | | character_set_results    | utf8                                                          | | character_set_server     | latin1                                                        | | character_set_system     | utf8                                                          | | character_sets_dir       | /usr/local/mysql-5.6.23-linux-glibc2.5-x86_64/share/charsets/ | +
   | 
 
遇到插入问题时候先确定客户端的字符集、链接的字符集、数据库的字符集、服务端的字符集
8.注意事项:
在生产环境时候对于更新和删除操作的时候要确定好条件,执行查询条件的时候可以先limit 20 取出数据看看,不要执行select * from table_name