- 启动服务
启动mysql服务在bin目录下执行
在命令行 输入 net start mysql
停止服务:net stop mysql
- 链接数据库
mysql -u root -p -h -P
-u 你的mysql的用户名
-p 你的mysql密码
-h 你mysql服务的地址ip
-P mysql数据库的端口号 默认 3306
完整写法:
mysql -uroot -p -hlocalhost -P3306
咱们的数据库服务装在了本地所以 -h可以省略
端口号使用是默认端口索引 -P也可以省略
- mysql数据库的基本结构
mysql关系型数据库管理软件
mysql>database>table>filed
多条数据组成一张表
多张表组成一个库
mysql管理多个库
- sql语句分类
SQL结构化查询语言,用于关系型数据库数据的操作
DDL(定义) 一般适用于对库的操作和表的操作
DML(操作) 一般是 数据的添加 数据的修改 数据的删除
DQL(查询) 一般是查询
DCL(控制) 一般使用权限管理 一般是有dba来去操作
- sql的语法规则
1.sql语句必须以分号结尾
2.sql不区分大小写 但是一般文档中 sql关键字都是大写
一、数据库的命令
1.查看所有的库
格式:
SHOW DATABASES;
2.创建数据库
格式:
CREATE DATABASE 库名 CHARSET=UTF8;
3.切换数据库
格式:
USE 库名;
4.查看当前所在的库
格式:
SELECT DATABASE();
5.删除库
格式:
DROP DATABASE 库名;
二、表操作命令
1.查看当前库中所有的表
格式:
SHOW TABLES;
2.创建表
格式:
CREATE TABLE 表名(字段名 字段类型 约束,字段名 字段类型 约束)CHARSET=UTF8;
3.查看表结构
格式:
DESC 表名;
4.查看建表语句
格式:
SHOW CREATE TABLE 表名\G;
5.删除表
格式:
DROP TABLE 表名;
三、数据的基本操作
1.添加数据
格式:
INSERT INTO 表名(字段1,字段2,...) values(值1,值2,...);
指定所有字段添加数据
INSERT INTO student(id,name,age,gender,email,class) values(1,'张飞',33,'1','zf@163.com','python');
不指定字段添加数据
值的顺序必须按照表结构的顺序来添加
INSERT INTO student values(2,'鲁班',30,'1','lb@qq.com','web');
指定部分字段添加
INSERT INTO student(id,name) values(3,'程咬金');
一次添加多条数据
INSERT INTO student values
(4,'凯皇',28,'1','kh@qq.com','ui'),
(5,'孙尚香',18,'0','ssx@163.com','web'),
(6,'小乔',20,'0','xq@qq.com','python'),
(7,'孙策',24,'1','sc@sina.com','python');
2.修改数据
格式:
UPDATE 表名 SET 字段=值 WHERE 条件;
更新name为孙策的数据 把年龄改成30 把性别改成0
update student set age=30,gender=‘0’ where name=‘孙策’;
3.删除数据
格式:
DELETE FROM 表名 WHERE 条件;
删除name为程咬金的数据
delete from student where name=‘程咬金’;
4.查询数据
查询表中指定字段的数据
格式:
SELECT 字段1,字段2,... FROM 表名;
查询字段为 id,name和class这三列的数据
select id,name,class from student;
四、数据类型
1.数值
Int 4字节
Tinyint 1字节
decimal 小数
2.字符串
char
定长字符串
varchar
变长字符串
char(20)
就算你当前字段中只存储了1个字符 那么它也是占据20个字符的大小
varchar(20)
最多能存20个字符 如果存了小于20的字符 它的实际占据大小是以你存的内容为准
text 文本类型
3.时间日期类型
datetime 混合日期和时间值
格式:YYYY-MM-DD HH:MM:SS 年-月-日 时:分:秒
例如:1000-01-01 00:00:00/9999-12-31 23:59:59
五、常见的字段约束
unsigned 无符号
一般给数值型的字段添加,如果添加代表当前字段只能存整数
not null 不能为空 默认字段可以为空
default 默认值
primary key 主键约束(主键索引)
不能为空,且唯一 用于表示数据的唯一标识
unique 唯一约束(唯一索引)
可以为空 不能重复 具有唯一性
auto_increment 自动递增 一般配合主键去使用
创建一张表 demo
字段有
id 唯一索引
uname 字符串类型 不能为空
email 字符串类型 可以为空
gender 字符串类型 不能为空 默认值为 2
六、表结构的操作
格式:
ALTER TABLE 表名 操作
1.添加字段 add
给student表添加一个phone
ALTER TABLE student ADD phone varchar(32) not null default '113479';
2.修改字段 modify/change
修改字段约束
将phone字段的类型改成char
ALTER TABLE student MODIFY phone char(11);
将phone字段的类型改成int
ALTER TABLE student MODIFY phone int;
注意:将字符串转换成数值型的时候,当前字段的值都必须是数字表示的字符串。
修改字段名
将phone字段的名字改成cellphone
ALTER TABLE student CHANGE phone cellphone varchar(11);
将字段的约束改成char(11)
ALTER TABLE student CHANGE cellphone cellphone char(11);
3.删除字段 nbsp; drop
删除字段cellphone## 标题
ALTER TABLE student DROP cellphone;
4.修改表名
修改student表名为students
ALTER TABLE student RENAME AS students;
5.修改表的编码格式
ALTER TABLE students CHARSET=GBK;
6.修改自增值
修改自增值为20
ALTER TABLE students AUTO-INCREMENT=20;
七、运算符
算数运算符:+ - * / %
比较运算符:> < >= <= = != <>
特殊比较运算符:in , not in , is null , is not null , like , between and
逻辑运算符: and or not
逻辑运算符优先级 or < and < not