数据库DOC界面登录方式
mysql -u root -p enter 输入密码
出现welcome代表登录成功
show databases;查看所有数据库
use 数据库名 登录选定的数据库
char和varchar有什么区别?
char为定长字符串,char(n),n最大为255
varchar为不定长字符串,varchar(n),n最大长度为65535
char(10)和varchar(10)存储abc,那它们有什么差别呢?
char保存10个字符,abc三个,其它会用空格补齐;而varchar只用abc三个位置
drop、delete和truncate
之间的区别?
drop删除库或者表,数据和结构定义
delete和truncate只是删除表的数据
delete可以指定where条件,删除满足条件的记录,tuncate删除所有记录
对于自增字段的表,delete不会自增值清零,而truncate是把表记录和定义都删除了,然后重建表的定义,所以自增主键会重头开始计数
数据库基本语句
查询所有数据库
show databsess;
查询所有表
show tables;
新建数据库
create database 库名 default character set utf8/gbk;
删除数据库
drop database 库名;
新建表
create table 表名(字段名 字段类型(字段长度));
删除表
drop table 表名;
修改表
alter table 表名 add/delete column 字段名 字段类型(长度);
描述表内容
desc 表名;
新增表内容
insert into 表名 values(1,2,3); values中必须与表中的字段个数匹配 顺序也要匹配
删除表内容
delete from 表名;
修改表内容
update 表名 set 字段名 要修改的值;
查询所有记录
select * from 表名;
数据库约束
非空约束
not null
唯一约束
unique
主键约束
primary key auto_increment
primary key(设置主键)
auto_increment 自增
数据库中每张表都应该都主键,
主键特点:字段值必须非空且唯一
新建数据库的类型
int 整型
varchar 字符串类型
decimal 小数类型
date 日期
datetime 时间
sql语句重点
插入数据 insert into 表名 values(值,值,值...)
查询数据 select * from 表名
修改数据 update 表名 set 列=值 where 条件
删除数据 delete 表名 where 条件
mysql 数据库单表存储数据:单表数量1000万条以下 不影响查询性能 没有存储上限