一篇特别基础的速成,

下载安装: 简略

  1. 官方下载页: http://dev.mysql.com/downloads   下载community verison , 社区版,免费
  2. 下载安装, 一路next, 根据提示输入root 密码等等.

配置以及远程登陆:


  1. 此时,你不能远程登陆到这个数据库,只能在本地登陆, 下面我们配置远程登陆
  2. 使用本地用户登陆数据库,例如 mysql -u root -p
  3. 创建用户:
CREATE USER zhangsan@'%' IDENTIFIED BY '123456'
  1. %表示任意地址, 也可以把%换成你希望的主机ip 例如192.168.1.100 这样就限制了zhangsan用户只能在192.168.1.100这个地址上登陆了. 此时这个用户的权限较低, 增加权限, 见step5
  2. sudo vim /etc/mysql/my.cnf,  修改 为bind-address = 0.0.0.0 . 默认情况下 mysql只监听本机localhost
  3. 给用户授权: 
GRANT ALL ON demoA.* TO 'zhangsan'@'%';
  1.    // 给予zhangsan用户, 表 demoA的所有权限. 如果想给用户所有表的所有权限, 把demoA.* 替换为*.*
  2. 剩下的就是建数据库, 建表语句了.
  3. 切换 到远程, 用zhangsan帐户登陆. 成功.

建库,建表:



  1. 建库:
CREATE DATABASE demoA;

use demoA;

  1. 建表: 
CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT,PRIMARY KEY (`id`))
  1. //A table must have at least 1 column, 至少需要1列,
    最简单的例子: 
CREATE TABLE test (id tinyint(1));
  1. 错误的例子:  
CREATE TABLE `scores` ();

数据库, 表的修改:



  1. 修改数据库: 
ALTER SCHEMA `demoA`  DEFAULT CHARACTER SET utf8 ;
  1. 修改表:
    重命名:  
ALTER TABLE `demoA`.`student` RENAME TO  `demoA`.`students` ;
  1. 修改表的默认字符:
ALERT TABLE `students` CHARACTER SET = utf8;
</pre></li><li>添加列:同时添加2列:<pre name="code" class="sql">ALTER TABLE `demoA`.`student` ADD COLUMN `name` VARCHAR(45) NOT NULL COMMENT '' AFTER `id`,ADD COLUMN `mobile` VARCHAR(45) NOT NULL COMMENT '' AFTER `name`;
  1. 添加1列:
ALTER TABLE `demoA`.`student` ADD COLUMN `studentID` VARCHAR(45) NOT NULL COMMENT '' AFTER `mobile`;
  1. 修改列, 有三个方法: CHANGE COLUMN, MODIFY, ALTER COLUMN(其中ALTER COLUMN是设置或删除 默认值,这里不举例了)
ALTER TABLE `students` CHANGE COLUMN `studentID` `studentID` VARCHAR(16);
ALTER TABLE `students` MODIFY COLUMN `studentID` VARCHAR(15);
  1. 删除列 :
ATER TABLE `students` DROP 列名;

以上就是修改表的结构了,表的结构确定之后, 我们就可以操作数据了,我理解应用最多的就是对数据的操作了:





数据插入、修改、删除:



  1. 插入1条数据 :
</pre><pre name="code" class="sql">INSERT INTO students(id, name, mobile,student_id) values(004,'张三','13800138000',2016005);
  1. 也可以省略 列名,直接插入数据,可以按照顺序.
INSERT INTO students values(004,'张三','13800138001',2016005);
  1. 插入多条数据:
INSERT INTO students values(006,'张三三','13800138002',2016007),(007,'张三散散散','13800138003',2016008);
  1. 修改1条数据:
UPDATE students set gender = 1 where  name = '张三';
  1. 删除数据:
DELETE FROM students WHERE name = '张三';
  1. 清空数据:
TRUNCATE TABLE 表名;
DELETE FROM 表名;
  1. 效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。delete的效果有点像将mysql表中所有记录一条一条删除到删完,

非常有用的几个命令:



  1. desc 表名, 查看所有列
  2. show create table 表名, 查看建表语句
  3. show database;
  4. show tables;

结尾:



每天早晨起床,默写 CRATE DATABASE, CTEATE TABLE, ALTER TABLE , INSERT INTO, UPDATE , DELETE FROM 基本语法三遍,