1 安装navicat 和 xampp ,注意路径不要出现中文,xampp最好安装在根目录
比如 d:/xampp
mysql 默认运行在3306端口
命令查看是否运行:netstat -an|find "3306" mysql的配置文件是my.ini 可以用来修改mysql的端口,目录,以及相关的配置
启动mysql 使用start 停止使用 stop
进入mysql命令行,找到你的xampp目录地址,进入mysql/bin目录打命令
mysql –uroot –p123456
修改root的密码
use mysql;update user set password = password(‘123456’) where user = ‘root’
退出mysql命令用 quit 或者 exit
mysql 默认的数据引擎是 innodb
查看mysql 当前版本: select verison(); 查看当前时间: select now();
查看逻辑运算:select 1+1;
列出所有数据库:show databases;
创建数据库 (一定注意创建数据库要指定编码utf8)
create database 库名 charset=utf8;
删除数据库
drop database 库名;
选择数据库
use 库名;
列出当前数据库中的所有表
show tables;
查看表结构
desc 表名;
创建表(班级)
create table classes(
id INT unsigned primary key auto_increment not null,
name varchar(30) not null default ''
)
修改表名
alter table 表名 rename to 新表名
删除表
drop table 表名;
查询表
select * from 表名;
插入数据
insert into 表名 values()
insert into classes values(0,'一年级'),(0,'二年级');
删除数据
delete from 表名 where id = 1
修改数据
update 表名 set 字段名 = ‘1234’
新增字段
ALTER TABLE `classes`
ADD COLUMN `num1` int(3) NULL DEFAULT NULL;
修改字段
ALTER TABLE `classes`
CHANGE COLUMN `num1` `num2` int(3) NULL DEFAULT NULL;
删除字段
ALTER TABLE `classes`
DROP COLUMN `num`;
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型
一个英文字符等于一个字节,一个中文三个字节
数据库类型的属性,重点是主键(primary key)和自增长(auto_increment),理解主键的含义
表中的每一行都应该具有可以唯一标识自己的一列(或一组列)。而这个承担标识作用的列称为主键。
如果没有主键,数据的管理将会十分混乱。比如会存在多条一模一样的记录,删除和修改特定行十分困难。
自增长字段每个表只能有一个
使用 as 给字段起别名(给长的字段取别名)
select id as code from student;可以通过 as 给表起别名
在select后面列前使用distinct可以消除重复的行
s
mysql的联合主键:用2个字段(或者多个字段,后面具体都是用2个字段组合)来确定一条记录,说明,这2个字段都不是唯一的,2个字段可以分别重复,这么设置的好处,可以很直观的看到某个重复字段的记录条数。
筛选条件格式
select 字段1,字段2 from 表名 where 条件
比较运算符
逻辑运算符
and or not (is 用来判断null)
例5:查询编号大于3的女同学
select id,name,gender from student where id>3 and gender='女'
例6:查询编号小于4或没被删除的学生
select id,name,is_delete from student where id<4 or is_delete=0
例7:查询年龄不为空的学生
select id,name,age from student where age is not null
范围查询
between ... and (相当于<=和>=)
查询年龄在20岁到30岁之间的学生
select name from student where age between 20 and 30
模糊查询
like
%表示任意多个任意字符
_表示一个任意字符
例7:查询姓黄的学生
select * from student where name like ‘黄%’
例8:查询姓黄并且“名”是一个字的学生
select * from student where name like ‘黄_’
例9:查询姓黄或叫靖的学生
select * from student where name like ‘黄%’ or name like ‘%靖’
范围查询
in表示在一个非连续的范围内
select id from student where id in (1,2,3)
优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符
and比or先运算,如果同时出现并希望先算or,需要结合()使用