1.SQL语言
1.启动和关闭MySql服务
启动MySql服务
1.命令行操作启动MySql服务
2.通过计算机控制面板访问服务
控制面板----》管理工具----》服务-----》MySQL服务名---》启动
关闭MySql服务
1.命令行操作关闭MySql服务
2.通过计算机控制面板访问服务
控制面板----》管理工具----》服务-----》MySQL服务名---》停止
如果MySQL服务没有启动,我们是无法登陆连接到MySQL数据库服务器的,所以登陆连接 到MySQL数据库服务器之前,检查一下服务是否启动。
2.登陆MySql服务器
1命令行登陆MySql服务器
1.1.本机登陆 MySQL -u用户名 -p密码
2.1.远程登陆 MySQL -h数据库服务所在计算机IP -u用户名 -p密码
2.图形界面的管理工具登陆MySql服务器
3.show databases---查询数据库服务器上现有的数据库
4.use test---选择自己需要使用的数据库
5.show tables---查询被选中数据库中的数据库表
6.create database mydata_db(数据库名)---创建数据库
7.数据库名称可以携带”_db”作为后缀,以表示这是一个数据库。
8.drop database [mydata_db]---删除数据库
2.MySQL常用数据类型:
1.字符串型 VARCHAR[整数]、CHAR[整数]
2.数值型TINYINT 、SMALLINT、INT、BIGINT、FLOAT、DOUBLE
3.逻辑型 BIT [0/1]
4.日期型DATE、TIME、DATETIME、TIMESTAMP
5.大数据类型BLOB[2进制]、TEXT[文本]
3.MySQL定义表的字段的约束
1.定义主键约束:primary key:不允许为空,不允许重复
【往往数据库表的第一列就是主键列】
2.主键自动增长 :auto_increment
【与主键约束一起使用 / 数据库一定要支持自动增长机制】
3.定义唯一约束:unique 不允许重复 例如:name varchar(20) unique
4.定义非空约束:not null 不允许为空 例如:salary double not null
4.基本数据库表操作语句
1.创建数据库表
#格式:
create table t_user(
列名1 数据库类型 [约束],
列名2 数据库类型 [约束],
......
列名n 数据库类型 [约束]
);
例如:创建一个用户表
create table test(
stuid int primary key auto_increment,
stuname varchar(10) not null,
stuage int,
stuhei double,
studay datetime
);
2.修改表结构【通常都是在数据库表结构创建好以后】
1、修改表结构增加一个user_head列。
alter table 表名 add user_head varchr(20) ;
2、修改表结构修改指定列的数据类型。
alter table t_user modify user_head char(10);
3、修改表结构修改指定列的名称
alter table t_user change user_head head varchar(20) not null;
4、修改表的字符集为utf8
alter table 表名character set utf8;
5、修改表结构删除指定列。
alter table 表名 drop head;
6.修改表表名
rename table 旧名称to 新名称;
7.删除数据库表【会删除表中的数据记录以及表结构】
drop table user_table;
例如:
#增加列 格式:alter table 表名 add studaaress varchar(40);
alter table test add studaaress varchar(40);
#修改表指定列的数据类型 alter table 表名 modify studaaress varchar(20);
alter table test modify studaaress varchar(20);
#修改指定列的名称
alter table test change studaaress stuaddress varchar(20);
alter table test change stunmae stuname varchar(10) not null;
#修改表的字符集
alter table test character set utf8;
#删除指定列
alter table test drop stuhei;
rename table t_student to student;
#删除数据库【会删除表中的数据记录以及表结构】
#drop table test;
3. insert语句向表中插入数据
1.所有列都添加数据,没有数据的列是用null代替【一一对应】
2.字符串数据与时间日期型数据在添加信息的时候需要单引号
3.bit型的true为1,false为0
4.null数据不再唯一约束的范围
5."2020年09月23日"这种时间提起格式不能用
例如:
insert into test values(null,'张三',23,185.9,'2021-11-24 12:23','西安');
insert into test values(null,'李四',25,175.4,'2021-12-24 07::23:20','北京');
insert into test values(null,'王五',22,192.4,'2021/09/07 12:23','上海');
insert into test values(null,'孙悟空',200,178.4,'2021/09/07 12:23','水帘洞');
insert into test values(null,'唐僧',22,184.5,'2021/09/07 12:23','东土大唐');
insert into test values(null,'猪八戒',100,175.4,'2021/09/07 12:23','高老庄');
insert into test values(null,'白龙马',100,190.4,'2021/11/07 12:23','东海龙宫');
insert into test values(null,'沙和尚',32,190.4,'2021/11/07 12:23','流沙河');
#指定列添加数据
insert into test(stuname,stuhei,stuaddress)values('赵六',175.6,'渭南');
4.update语句修改表中数据
1.主键列不能被修改
2.修改语句一般都会有限定条件
例如:
update test set stuhei=185.9 where stuhei=190.6;
update test set stuid=1,stuname='张三三' where stuid=5 or stuname='张三';
update test set stuname='李兴' where stuage=23 or stuname='李四';
update test set stuname='张三' where stuage=23 and stuname='李兴';
#delete语句删除表中数据
delete from test where stuid=6;
delete from test where stuname='张三' or stuid=8;
delete from test where stuname='猪八戒' and stuage=100;
5.select语句
1.基本的select语句
select*from test;
#查询指定列
select stuname from test;
#基本条件查询【= or and】
select*from test where stuid=7;
select*from test where stuid=7 or stuname='唐僧';
select*from test where stuage=23 and stuname='孙悟空';
2.比较运算符查询
select*from test where stuage>23;
select*from test where stuage<23;
select*from test where stuage=23;
3.区间查询 between 最小值 and 最大值
#区间查询 between 最小值 and 最大值
select*from test where stuage between 23 and 100;
select*from test where studay between '2021-01-01 00:00:00' and '2021-12-31 00:00:00';
4.in(集合)条件查询
select*from test where stuname in('白龙马','孙悟空');
5.模糊查询
select*from test where stuage like '%3';
select*from test where stuage like '3%';
select*from test where stuage like '%3%';
6.is null
select*from test where stuage is null;
select*from test where stuage is not null;
7.not
select * from test where not(stuhei > 170.5);
select * from test where stuhei is not null;