sql:Structure Query Language:结构化查询语言.
DDL语句:数据库定义语句.(创建,修改,查询数据库,创建,修改删除查询表)
DML语句:操作语句
DQL语句:查询语句.
创建数据库:create database 数据库名;
判断创建:create database if not exists 数据库名称.
查看当前创建数据库db1的默认字符集:show create database db1;
修改数据库默认字符集:alter database db1 default(可省略)character set gbk;
删除数据库:drop database db1;
判断删除: drop database if exists db1;
默认查询"内置变量"所有的相关字符集 (在dos中使用,创建表,给表中添加数据,会出现中文乱码)
修改character_set_client的字符集
character_set_results 的字符集
set character_set_client=gbk;
set character_set_results=gbk;
//创建表格式
create table 表名(
列名 id 字段类型int,
.....
列名 name 字段类型 varchar(10)
);
//查看数据库存在哪些表
show tables;
给表中添加一个新的列名:
alter table 表名 add 类名 字段类型.
talter table stu add sex varchar(2) ;
修改表中字段名称:
alter table 表名 change 旧列名 新列名 字段类型;
alter table stu change sex gender varchar(2);
修改表中的字段类型:
alter table 表名 modify 列名称 字段类型;
alter table stu modify gender varchar(10);
修改表名
alter table 当前表名 rename to 新的表名;
删除表中某一列
alter table 表名 drop 列名;
alter table student drop name;
删除表
drop table 表名;
drop table if exists 表名
复制表
create table 新表名 like 其他表名;
DML语句
给表中插入数据: insert into 表名(id,name,age) values (值一,值二,值三);
查询全表数据: select * from student;
修改表中记录
update 表名 set 字段名称(name)='张三' where id=1;
删除数据:
delete from 表名 where 条件;
delete和truncate的区别
delete from 表名:删除全表中记录数
针对自增长主键的字段不受影响 id 1,2,3,4,5 下次再给表中插入数据:id: 从6开始
truncate table 表名 :删除表了,在复制一张一模一样的表
针对自增长主键字段置空,下次插入数据:从1开始一直自增
DQL语句
使用数据库db1--- use db1;
基本查询:select查询所有字段
select* from 表名;
查询字段:去重;
select distinct score from student;
where条件查询
-- 基本where语句查询
-- 运算符号
-- <,>,<=,>=,=
-- 逻辑符号 !=, <>(mysql中的语法"不等于")
-- 并列关系 && ,and
-- between 条件1 and 条件2
-- 或的关系 ||,or
-- in(集合)
-- is null :某个字段为空 或者不为空 is not null
带模糊条件的查询:关键字:like
- 需求:模糊查询学生表中姓名为三个字符的人的学生姓名
SELECT
NAME
FROM student
WHERE NAME LIKE '___' ;
聚合函数
- sum(列名):求和函数 (数值类型int)
-- max(列名):求最大值
-- min(列名):求最小值
-- avg(列名):平均分
select
sum (math)
from student;
排序查询:
asc升序.
desc降序.
-- 按照学生的英语成绩降序排序,查询姓名以及英语分数
SELECT
NAME,
IFNULL(english,0)
FROM student ORDER BY english DESC ;