所有语句一定记得加分号 ;

一、启动关闭——net start/stop mysql

cmd(管理员身份运行)——>进入mysql安装路径(D:\Web\my_sql\bin)——>net start mysql

二、登录——mysql -u root -p psw

  • 如果忘记密码:
    • win+R输入services.msc进入服务列表停止MySQL服务——> 删除mysql目录下data文件夹——>
    • cmd(管理员身份运行)进入mysql安装路径(D:\Web\my_sql\bin)——>mysqld —initialize——>
    • 在mysql目录下新生成的data文件夹中找到*.err——>用文本编辑器打开——>
    • 找到 A temporary password is generated for root@localhost: vy:ofN-as7if——>
  • 开始连接net start mysql——>开始登陆mysql -u root -p ——>输入密码(localhost后即临时密码)
  • 修改密码:alter user ‘root’@’localhost’ identified by ‘xxxx’;

三、数据库

1、查看所有——show databases

2、创建——create database _DB

3、删除——drop database _DB

4、选取——use _DB

四、常见数据类型

1、数值类型

  • 严格数值数据类型(INTEGER、SMALLINT、DECIMAL、NUMERIC)
    • INT大整数值4字节
    • SMALLINT大整数值2字节
    • DECIMAL定义decimal(p,s)时划定整数部分p-s位数,小数部分s位数
    • 数据类型 decimal 和 numeric 虽然在小数存储方面都一样,但建议使用Decimal
  • 近似数值数据类型(FLOAT、REAL、DOUBLE PRECISION)
    • 在 WHERE 子句搜索条件中(特别是 = 和 <> 运算符),
    • 应避免使用 float 或 real 列。最好限制使用 float 和 real 列做 > 或 < 的比较。

2、日期和时间类型

DATETIME、DATE、TIMESTAMP、TIME、YEAR

  • DATA日期值,格式:YYYY-MM-DD
  • DATATIME混合日期和时间值,格式:YYYY-MM-DD HH:MM:SS
  • TIMESTAMP时间戳(指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。),格式:YYYYMMDD HHMMSS

3、字符串类型

CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM、SET

  • CHAR定长字符串
  • VARCHAR变长字符串
  • BINARY、VARBINARY包含二进制字符串,不要非二进制字符串
  • BLOB:一个二进制大对象,可以容纳可变数量的数据。
    • 有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。
  • TEXT、ENUM和SET

五、数据表

1、查看所有——show tables

2、查看单个—— select * from _Tab

3、创建——create table _Tab (_Col type_Col)

  1. CREATE TABLE admin(
  2. admin_id INT NOT NULL AUTO_INCREMENT,
  3. admin_name VARCHAR(40) NOT NULL,
  4. admin_position VARCHAR(40) NOT NULL,
  5. admin_department VARCHAR(100) NOT NULL,
  6. admin_tel INT NOT NULL,
  7. admin_salary DECIMAL(10,2) NOT NULL,
  8. submission_date DATE,
  9. PRIMARY KEY(admin_id)
  10. )ENGINE=InnoDB DEFAULT CHARSET=utf8;

4、删除——drop table _Tab

5、修改表名——alter table _Tab rename to …

六、字段

1、查看所有——show columns from _Tab


2、修改——alter table _Tab modify/change _Col

  • 修改字段类型及名称:
    • alter table Name MODIFY c CHAR(10);
    • alter table Name CHANGE i j BIGINT;
  • 修改字段默认值:alter table Name ALTER i SET DEFAULT 1000;
  • 修改字段的相对位置:alter table Name modify name1 type1 first|after name2;
  • 修改存储引擎:alter table Name engine=myisam;

3、增删——alter table _Tab add/drop _Col

  • 删除表的 i 字段:alter table Name DROP i;
  • 添加 i 字段到数据表字段的末尾:alter table Name ADD i INT;

七、数据

1、插入——insert into _Tab (c) values (v)

(字符串最好统一,values默认加双引号)

  • insert into Name ( col1, col2,…colN ) values ( value1, value2,…valueN );
  • insert into Name values(value1, value2,…valueN ),(value1, value2,…valueN );
    1. INSERT INTO admin
    2. (admin_name, admin_position, admin_department, admin_tel, admin_salary, submission_date)
    3. VALUES
    4. ("张三", "菜鸟","工程部","1256987","7000" ,NOW()),
    5. ("李四", "进阶工程师","产品部","1266997","8500" ,NOW());

2、更新——update _Tab set c=v [where…]

  • update Name SET c=v [WHERE Clause] 。更新:update 表名称 set 列名称=新值 where 更新条件;
  • update Name SET c=REPLACE(c, ‘old-string’, ‘new-string’) [WHERE Clause]。 替换

3、删除——delete from _Tab [where…]


4、单列查询——select _Col from _Tab

4、条件查询——select * from _Tab where limit offset

  • select * from _Tab 查看数据表中所有数据
  • select _col1,_col2 from Name [where Clause] [order by id][limit N][offset M] 单个查询
    • 一般执行顺序:select –>where –> group by–> having–>order by
    • select * : 返回所有记录
    • order by id: 通过id来查询
    • limit N : 返回 N 条记录
    • offset M : 跳过 M 条记录, 默认 M=0, 单独使用不起作用
    • limit N,M : 相当于 limit M offset N , 从第 N 条记录开始, 返回 M 条记录
  • select a.admin_id, a.admin_tel from admin a INNER JOIN admin2 b ON a.admin_id = b.admin_id;多表查询


5、去重查询——select distinct…

6、降序查询——…order by _id desc

八、导入/导出

  1. 导出数据:select * from passwd INTO OUTFILE '/tmp/runoob.txt';<br /> 导入数据:source /home/abc/abc.sql # 导入备份数据库