一、mysql使用手册
1.启动mysql 。
每次进入mysql安装的bin目录下(cd '路径'),net start mysql 或者讲bin目录添加到电脑环境变量Path中,用管理员身份直接运行 net 即可启动 。
2.进入mysql 。在bin目录下输入:mysql -u root -p ,输入password。
3.修改密码:
ALTER USER 'root'@'localhost' identified by '修改的密码' ;
flush privileges ; 刷新并退出重启mysql服务,即可生效。
如果没有更改过密码可以在日志找到
如果改过密码的话,建议重装,如果不想重装的话,可以进入无密码模式进行修改。
二、MySQL中的数据类型
1.数值类型。
2.日期类型
3.字符串类型
# 字符型 (长度在5.5之前值字节,5.5之后是字符)
char 开辟指定大小内存,而varchar 即使设定指定长度,如果变量值小于指定长度,长度自动缩减;但超过长度,则插入数据时会报错。text 不需要指定长度,一般用来存储大段的文本.
# 如何选取: 如果值的长度变化比较大,从节省空间的角度来考虑,我们可以使用varcahr,但是在计算长度的过程中会消耗一定的性能,如果值的长度变化不大,例如手机号码,我们就可以char。
三、约束条件
# 约束 (字段名 字段类型 约束)
非空 not null , (Field 'name' doesn't have a default value)
default '' 设置默认值 (寺庙中和尚的性别) ( age int default 1)
UNIQUE 唯一。 注意: 唯一是可以为空的。
比如:tel设置为unique,但是也可以为空
primary key 主键 (not null + 唯一),一张表只能有一个主键,设置联合主键.
整数类型的可以设置 auto_increment 自增长, 必须是主键.
FOREIGN KEY 外键(表关联中,这个字段在其他表中为主键)。
四、SQL语句
1.增加删除语句
create database studb;
use studb; // 选择一个数据库
create table stu(id int, name varchar(100),gender varchar(20),age int); // 创建一张表
insert into stu(id,name,gender,age) values (1,'小明','男',12),(2,'小明2','女',15); // 插入
update stu set name = 'xiaohong',age =12 where id = 1; // 更新语句
delete from stu where id = 1;
2.条件查询语句
select * from 表名; // 整张表查询 ,
select name, age, ... from person; //查询name age 属性
select name,age from person where id = 1; // 根据id进行查询
select name,age form person where id= 3 and name='www'; // id是3 且名字是www
select name,age from person where name = 'cc' or age = 3; 名字='cc' 或者 age = 3
select name,age from person where id in (2,4); // 效率太低,一般不用
select name,age from person where name like '%c%'; // %是通配符 查询出name中带有c的记录
select name,age from person where age > 3; // 把年龄大于3都查出来
select name,age from person where age BETWEEN 2 and 5; // 查询出[2,5]区间内的数据
order by 字段 [asc/desc] asc 升序 desc 降序
select * from p2 where id between 2 and 5 order by id desc; //查询出[2,5]区间,按照降序排列。
select*from p2 where id order by id desc, name desc; //查询出[2,5]区间内的数据,先按照id进行降序, 如果年龄一样的话, 按照姓名进行降序
limit begin,count 分页 下标计算从0开始, 查询多少个
select * from persin where name like '%c%' limit 1, 2; // 从第一行记录开始,查询两条