初入数据库

数据库 :存储数据的仓库
主键:非空且唯一 (not null unique)
数据库管理系统软件(DBMS):Mysql(开源,免费,跨平台) ,oracle, sql server,Access,IBM的db2
数据库系统(DBS)

数据库操作(DDL):

 --- 创建数据库
 create database [if not exists] db_name [character set xxx]
 --- 查看数据库
 show databases;(查看所有数据库)
 show create database db_name;(查看数据库的创建方式)
 --- 修改数据库
 alter database db_name [character set xxx]
 --- 删除数据库
 drop database [if exists] db_name;
--- 使用数据库
 切换数据库 use db_name; --注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换
 查看当前使用的数据库 select database();

表操作

查看自己创建的数据库里包含的所有的表:
show tables 
查看表内容:
desc tab_name 表名


修改一列类型:
alter table tab_name modify 列名  类型【完整性约束条件】【first(把要修改的列名放在表的第一个字段) | after 字段名(把要修改的列名放到指定字段后面)】
alter table user modify age tinyint default 20;
alter table user modify age int after id ;

修改列名
alter table tab_name change [column] 列名 新列名 【完整性约束条件】【first | after 字段名】;
alter table user change age Age int default 28 first;

修改表名
rename table 表名 to 新表名

修改表所有的字符集
alter table student character set utf8;

删除一列
alter table tab_name drop [colunm] 列名;

删除表
drop table tab_name;

添加主键,删除主键
alter table tab_name add primary key (字段名字)
alter table users drop  primary key(字段名字);

数据操作

插入数据
insert into tab_name (key, key,key) values 
                                   (values, values,values);
插入多条数据
insert into tab_name (key, key,key) values
(values, values,values),
(values, values,values),
(values, values,values);
也可以不写key 但需要一一对应,也可以只写你需要插入的数据的key,values 也是一一对应

set 插入: insert  into tab_name set key=value;
insert into test set id=12,name='tt';

修改数据
update tab_name set key=value key=value where [更改依据]
UPDATE 愈发可以用新值更新原有表行中的各列。
set 子句指示要修改哪些列和要给予哪些值。
WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。
update tab_name set name='ff' where id = 1;


删除表记录

delete from tab_name [where ...]

如果不跟where语句则删除整张表中华的数据
delete只能用来删除一行记录
delete 语句只能删除表中的内容,不能删除表的本身,想要删除表,用drop
TRUNCATE TABLE 也可以删除表中的所有数据,词语句首先摧毁表,再新建表。此中方式删除的数据不能在事物中恢复

删除表中名称为tt的记录
delete from tab_name where name = 'tt';
删除表中所有的记录
delete from tab_name;
使用truncate 删除表中记录
truncate table tab_name;


查询数据

select [distinct] * [field1,field2...] from tab_name
其中from 指定从哪张表筛选 * 表示查找所有列,也可以指定一列
表明确指定要查找的列,distinct 用来剔除重复行
-- 查询表中所有学生的信息
select * from  ExamResult;
-- 查询表中所有学生的姓名和对应的英语成绩
select name,js from ExamResult;

-- 过滤表中重复数据
select distinct JS ,name from ExamResult;

你可能感兴趣的:(初入数据库)