MySQL数据库结构
库 创建 删除 查询 选择使用
表 创建 删除 修改 基本查询
列 增加 删除 修改 查询
行 增加 删除 修改 查询
数据库是“按照数据结构来组织、存储和管理数据的仓库”
PHPMyAdmin/linux命令id
-
数据库
~#mysql -u root -p (linux系统命令) #输入密码登录数据库
>show databases;
#查看数据库
>creat database employees charset utf8;
#创建数据库employees
>drop database employees;
#删除数据库employees
>use employees;
#选择进入数据库employee
进入库以后
-
数据表
>create table employee #创建数据表employee
->( ->id int, ->name vaechar(40), ->sex char(4), ->birthday date, ->job varchar(100) ->); #写入表格信息及相关参数
实例:
CREATE TABLE employee ( id int, name varchar(40), sex char(4), birthday date, job varchar(100) );
-
数据表命令
>show full columns from employee # 查看数据表信息 >select * from employee; #查看数据表列表 >drop table employee; #删除数据表 >rename table employee to user; #修改数据表名称为user
-
数据表和数据行
插入数据
>insert into user ->( ->id,name,sex,birthday,job) ->values ->( ->1,'ctfstu','male','1999-05-06','it') ->;
insert into user(id,name,sex,birthay,job) values(1,'ctfstu','male','1999-05-06','it');
>select * from user; #查看数据表列表
>alter table user add salary decimal(8,2); #增加一列内容
使用update修改某一列信息
>update user set salary=5000; #修改所有工资为5000 >update user set name='benben' where id=1; #修改id=1的行name为benben >update user set name='benben2',salary=3000 where id=1; #修改id=1的行name为benben2,工资为3000 >alter table user drop salary; #删除列 >delete from user where job='it'; #删除行 >delete from user; #删除表
-
sql查询
基础查询语句 select from where
SELECT
>select * from users where id=1; #select+列名(*代表所有)from+表名 where+条件语句 >select * from users where id in ('3'); #从users表格,查询所有包含id=3 >selcet *from users where id=(select id from users where username=('admin')); #子查询 优先查询()内的查询语句
基本语句构造
查询参数指令 union、group by、order by、limit、and、or
UNIOIN
>select id from users union select email_id from emails; #查询并合并数据显示 >select * from users where id=6 union select * from emails where id=6; ERROR:have a different number of columns 联合注入(查询)前后表格列数必须相等 >select * from users where id=6 union select *,3 from emails where id=6; #3为填充列 此为user列数比email列数多一列的情况,若后面的列数比前面的多应在前面的*后添加填充列
group by 分组
>select department,count(id) from student group by department; #查询department院系人数 count(id)对ID进行计数
一般用于二分法判断数据表列数
>select * from users where id=9 group by 2; #by 2,4,8~~~依次排查到报错为止,从而确定列数; >select * from users where id=9 group by 4; ……
order by (默认按照升序排序)
>select stu_id from score share c_name='计算机' order by grade desc; #grade参数desc使排序顺序变为降序
同group by,一般用于判断数据表列数
示例
>select * from users order by 1; #对第1列进行排序 >select * from users order by 1 desc; #对第1列按照降序进行排序
limit (限制输出内容数量)
>select * from users limit 1,3; # 限制为从第1行开始显示3行 >select * from users limit 0,3; #限制为从0行开始显示3行 (实际是从0行开始计数)
and和or
>selet * from student where sex='男' and department='英语系'; #and前后同时满足
>select * from student where sex='男' or department='英语系'; #满足or前后一个即可
常用函数 group_concat()、database()、version()
group_concat() 合并到一行显示
>select usersname from users;
实例:
>select group_concat(username) from users;
实例:
select database() 查看当前数据库名称
select version() 查看当前数据库版本
标签:users,数据库,查询,数据表,user,where,id,select From: https://www.cnblogs.com/cheng-yicheng/p/17619491.html