数据库分为关系型、非关系型数据库
关系型数据有:MySQL、Oracle、SQL-Server……
SQL:结构化查询语言。
非关系型数据库:超大型数据(大数据),MangoDB,Nosql。
怎么进入mysql?
1.按win+r,输入cmd,进入命令行
2.输入mysql -u 用户名 -p密码 #开始用户名为:root
怎么进入mysql的库?
输入use 数据库名;
怎么查看当前所有数据库的名称?
show databases;
列:1. information_schema |
2. | mysql | 系统默认自带(不更改)
3. | performance_schema |
4. | sys |
怎么查看当前数据库里面的表名?
show tables;
怎么查看当前表名的结构?
desc table;
怎么查看当前表中的数据?
select * from 表名;
列:select * from user;
怎么修改当前表中的数据?
update 表名 set 字段名=值 where 条件;
列:update user set host='%' where user='root';
怎么创建数据库?#不能重复出现数据库名字,不以数字开头。
create database 数据库名称;
列:create database Oct;
建库的时候怎么防止中文数据乱码?
create database Oct defult chareset='utf8'
怎么创建表?
create table 表名(字段名1 数据类型,字段名2 数据类型.....) defult chareset='utf8';
列:create table monday(id int,age varchar(10),bir date);
数据类型:
1.int 整型
2.decimal(n,s)/numeric(n,s) n:数据的总长度 s:小数位长度
列:decimal(3,2)
3.float 单精度浮点型
4.char(n) 定长字符串 #设计容量占用存储空间
5.varchar(n) 不定长字符串 #在设计容量内,按写入数据的实际长度占用存储空间 常用固定的数据。
6.date 日期
7.datetime 日期+时间
8.空值属于特殊的数据类型,不能用 =NULL 作为条件
怎么销毁表?
drop table 表名;
列:drop table Oct;
怎么插入数据到表中?
insert into 表名(字段列表(以逗号为分隔)) values(值列表);
列:insert into Oct(id,name,age,bir) values(1,'某',18,'2021/08/25');
怎么插入空值?
insert into 表名(字段) values('张三');#只输入名字为数据,其他要是有数据类型就为空值。
删除表的数据?
delete from 表名;#注意这个是删除数据,不是删除列表。
列:delete from Oct;#只会删除数据,不会删除数据类型。
怎么使用带条件的数据查找?
where 字段名/表达式 运算符 值
列:select * from Oct where name='张三' ;
怎么删除指定的内容?
delete from 表名 where 条件and条件;
列:delete from Oct where height=1.80 and name='张三';
怎么备份数据表?
方式一.1.先安源表的结构建立备份表
2.createtable 备份表名(字段名 数据类型………)
3.从源表提前需要备份的数据写入备份表
4.insertinto 备份表(字段列表) select 字段列表 from 源表[where]
列:create table Oct_bak (no int,name varchar(20),height decimal(2,2),indate date) charset='utf8' select * from Oct;
方式二.create table 备份表名 select 字段列表 from 源表[wehre];
列:create table Oct_bak2 select * from Oct;
注:要是备份数据的时候,需要转换防止中文乱码,可以这样操作:
输入数据末尾 default charset='utf8';
如果只希望导入指定字段,可以用这种方法:
insert into 目标表(字段1,字段2,....) select 字段1,字段2.... from 来源表;
列:insert into July(id,name) select id,name from Monday;
怎么删除空值的数据?
delete from 表名 where 数据类型 is null;
列:delete from Oct where name is null;
怎么插入另外一张的数据,使其目标表数据一致,不会出现混乱?
注:插入目标表的数据类型要和源表相同,不然就会出现插入错误。
格式:update 目标表 t1 join 源表 t2
on t1.name = t2.name#数据要一样。
set t1.字段 = t2.字段;