数据库可以用图形化工具来实现一系列操作,这里涉及一些cmd命令行
首先要配置好环境变量可以全局操作命令,不然只能在mysql的安装目录下进行操作,这里不再叙述
1. 进入数据库: mysql -u root -p (默认用户名为root,这个与mysql安装时的设置的用户有关,可设置使用不同用户)
退出则用exit指令
2. 看有哪些数据库: show databases; (注意每次执行数据库命令时要加‘’;‘’,你也可以设置成其他符号,这里不再叙述)
3. 进入指定数据库 : use 数据库名;
4. 查看数据库中有哪些表: show tables;
5. 查看表:(1) desc 表名; 查看数据
(2) show create table 表名; 查看表的细节
sql语句:DDL(定义数据库对象,表与列),DML(用于操作数据库表中的记录数据),
DQL(查询数据),DCL(定义访问权限和安全级别)
1.DDL 数据定义语言
注意点:在指定数据库中做表的相关操作,所以要先进入指定的数据库
创建数据库和表:
创建数据库 create database 数据库名 character set utf8; (字符集一般设为utf8)
创建表: 在指定数据库中创建表,所以要先进入指定的数据库
-- use 数据库名;
-- create table 表名(列名1(字段) 字段类型[约束条件],列名2 字段类型,...);
eg:create table students(name varchar(255),age int,gender varchar(25));
修改表名: rename table 原来表名 to 新表名;
修改表的字符集:例如将表字符集改为gbk ,则是 alter table 表名 character set gbk;
删除表:drop table 表;
删除数据库名:drop table 数据库名;
修改字段(列)
添加字段:alter table 表名 add 字段名 字段类型;
修改字段名:alter table 表名 change 原始字段名 新的字段名 新数据类型;
修改字段的数据类型:alter table 表名 modeify 字段名 字段类型;
删除字段: alter table 表名 drop 字段名:
2.DML 数据操作语言
首先要进入指定的数据库中才能进行操作数据
插入多条数据数据:insert into 表名(列名1,列名2,...) values (列值1,列值2,...),values (列值1,列值2,...),...
修改更新数据:update 表名 set 列名1=列值1,列名2=列值2,... where 条件; 用where条件对指定数据进行修改
修改数据库密码:
第一种方式:(1)use mysql;
(2)update user set authentication_string=password('密码') where user='root' and Host='localhost';
第二种方式:mysqladmin -u root = 新密码;
然后会让你输入旧密码就可修改
删除记录:
第一种:delete from 表名 where 条件; 能找回数据
第二种:trumcate table 表名; 创建一个新的表,但是表原来的数据删除了,不能找回数据
3.DQL 数据查询语言
查询数据显示指定字段:select 字段名1,字段名2,... from 表名; (select * from 表名; 则是显示全部字段)
条件查询:=(等于),!=(不等于),<>(不等于),<(小于),<=(小于等于),>(大于),>=(大于等于)
between ... and , in(set) (在set集合中) , is null (为空) ,is not null (不为空)
and(与), or(或), not(非)
eg:select * from 表名 where age in (18,17,19);
模糊查询:通过关键字查询,格式为 like+通配符
通配符:-(任意一个字符),%(任意0-n个字符)
eg: 查询名字中带‘李’的人 select * from 表名 like '%李%';
字段查询:1. distinct去重 :select distinct 字段名 from 表; 显示指定字段,去掉了重复字段数据
2. 对数值型字段进行运算后显示:
eg: select 字段1+字段2 as 新字段名 from 表; 将两字段进行运算后,显示新的字段名
(字段1,字段2必须是数值型,若为空则可设置默认值,IFNULL(字段1,数值))
eg: select IFNULL(字段1,0)+IFNULL(字段2,0) as 新字段名 from 表; 默认空字段设为0
排序:select * from 表名 ORDER BY 字段1 ASC,字段2 DESC,...
先按字段1排序,若有字段相同数据,在按字段2进行排序,以此类推 ASC为升序,DESC为降序
聚合函数:对统计的结果进行计算统计
COUNT() : 统计指定列不为null的行数 eg: select count(字段1) from 表 [where 条件];
MAX() : 列中最大值 eg: select max(字段1) from 表 [where 条件];
MIN() : 列中最小值 eg: select min(字段1) from 表 [where 条件];
SUM() : 列的数值和,若不是数值类型则为0 eg: select sum(字段1) from 表 [where 条件];
AVG() : 列的平均数,若不是数值类型则为0 eg: select avg(字段1) from 表 [where 条件];