一:库的操作
1.show databases; //注意别忘记database后面的“s” 展示所有的库
2.create database hao_01; //数据库名的命名尽量使用下划线//创建一个hao_01的库
3.drop database hao_01; //删除这个库
-----------------------------------------------------------------
show tables;查询该库的表
desc cyd_student;查询表结构
1.alter table cyd_student rename cyd_student1; //修改表名
2.alter table cyd_student change id s_id int(20); //修改表字段
3. alter table cyd_student1 add class int(3) not null first;//在第一个字段前加一个‘class’字段
4.alter table dcs modify id int(8) first ;可以实现调整表字段的位置;这是将‘id’字段放在最前面
select * from student; //查出表中所有数据
mysql> create table cyd_student(id int(4) primary key,name varchar(20) not null,sex int(2),age int(3),mobilephone_number int(12));
insert into student(name,sex,age,class,number)values('test',1,30,1603,13424302636); //插入一条记录
Insert into dcs_bak(name,age,sex,score)values('qqqq',34,1,77),('wwww',34,1,77),('eeeee',34,1,77); //插入多条记录
desc cyd_student;查询表结构
2. select * from student; //查出表中所有数据
insert into hao01_s (name,age)values('jjh3',29) //表里面添加值
update hao01_s set name=‘jjh2' where id=3; //更新表,改值
select // 函数,选取
2. select * from student; //查出表中所有数据
3. select s_id,sex,name from cyd_student; //查出表中具体字段的数据
4.select * from student order by id desc; //降序查询
select * from student order by id asc; //升序查询
删除主键约束:alter table 表名 drop primary key;
格式:update 表名 set 值 where 条件
5. update cyd_student1 set name='cyd' where s_id=1; //该指定字段的值,这里改的是‘name‘字段的值
6. update cyd_student1 set age=age+5; //将年龄加大5岁
7. select * from student where sex<>1;
select * from student where sex!=1;
select * from student where sex not in(1);
//查出性别不为1的所有数据
简单函数
8.select distinct(name )from student where sex<>1; //查出性别不为1的且不重复的姓名的数据
8.select distinct(name),age from student where sex=0 or sex=2;
select distinct(name),age from student where sex=0 and sex=2;
9.select count(id) from student where age between 31 and 32; //统计出年龄在31岁到32岁之间的学生人数
#select count(id) from student where age>=31 or age<=25; --20
10. select * from student where id limit 0,10; //查出从第一行开始计算,共十行的记录
11. select sex as "性别",count(sex) as "各性别总人数" from student group by sex; //根据性别分组查班上男生女生总人数各是多少
12. select * from dcs where id limit 0,3;从第一行开始共统计3行;
13. select * from dcs where class is null;查询班级为空的学生信息
14. select * from dcs where class is not null;查询班级不为空的学生信息
注:select * from student where number=1342430263 or 1=1; //安全性测试的SQL注入,(一旦在文本框内输入该SQL命令,若代码未过滤,则会显示出所有的数据)
1.where 不能放在GROUP BY 后面
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数比如SUM(),AVG()等,使用where条件显示特定的行。
2.having 是跟GROUP BY 连在一起用的,放在GROUP BY 后面,此时的作用相当于WHERE
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
忘记密码,在外vim /etc/my.cnf
在第四行输入skip-grant-tables
3.1如何给普通的数据库用户赋予相应的权限(如增删改查):
Mysql -uroot -p //进入root账户
1.使用root账号登录,输入root用户的密码:******
2.进入mysql数据库:use mysql;
3.查询mysql数据库服务器已经创建了哪些用户:select host,user from user;
3.创建用户但是未授权(方法一)
insert into user (Host,User,Password)values('localhost','chen',password('123456'));创建用户
创建用户后需要刷新下:flush privileges
4.创建用户后进行授权(方法二)
grant select,update,delete on *.* to ‘chen’@'localhost' identified by '123123' with grant option;
grant all privileges on *.* to ‘root’@'%' identified by '123123';
flush privileges
show grants for 'chen'@'%'; //查看数据库的指定授权用户的权限
revoke all on *.* from sss@localhost ;//取消所有权限
delete from user where user='zhongguo'and host='localhost';删除用户
update user set password=password("test") where user='root';
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
service iptables stop //关闭防火墙
grant all privileges on *.* to 'root'@'%' identified by '123456';//给root给全部权限
Flush privileges //刷新特权
show databases;
show tables from hao01;
create table stu1 like stu;
备份student表中的所有数据:
create table dcs15 like dcs;创建表且表字段与‘dcs’一样
insert into dcs15 select * from dcs;将表‘dcs’的数据插入表‘dcs15’
insert into dcs150(id,name) select id,name from dcs;指定字段插入,如果dcs50有数据是不能插入,需要重新创建一个表;
在Xshell里面运行
1. Mysqldump -uroot -p hao02
然后在xshell里面有了一个hao02.sql 文件
然后将这个文件发送到电脑桌面SZ hao02.sql // SZ是将文件传出去
[if !supportLists]2. [endif]rz //将电脑的文件传到xshell里面。
Rz hao02.sql
然后在shell里将hao02.sql 传到mysql 里面
Mysql -uroot -p hao02>hao02.sql;
整理语句的使用:
Insert into............. from.........//插入
Update.........set............where.........//修改表格里面的数据
Select..........from..........where........//展示选出的表格
Select..........from.............group by ..........
select max(math) from dcs group by class; //按班级查出数学最高分;
1.select * from stu where id limit 3,2; //id从3行开始取两行
2.select id,class,name,english,math,chiese from stu where math>80;
//前面select和from中间的是要显示的因素,全显示用*代替。
后面where后面的条件,用于约束条件。