1、连接数据库
mysql -h localhost -u root -p
Entry password:
2、查看数据库
show databases;
3、创建数据库
create database test;
test为数据库名
4、使用选中数据库
use test;
5、显示表
show tables;
6、删除数据库
drop database test;
7、创建表
create table class(stu int,name varchar(20));
class为表名
8、更改表名
rename NewName to OldName;
9、显示表信息
desc class;
注意:命令退出
\c
10、建表
create table msg(
id int, title varchar(60), name varchar(10), content varchar(1000) );
create table class( id int primary key auto_increment, name
varchar(10), age tinyint )charset utf8;
11、增
alter table class add age2 tinyint unsigned;增加一列
alter table class add age2 tinyint unsigned not null default 0;推荐使用默认值,不为null,默认为0
insert into msg
(id,title,name,content) values (1,‘初来乍到’,‘张三’,‘刚来能不能当老大?’);
insert into msg (id,title,name,content) values (3,‘又来了’,‘王五’,‘千年老二’),
(4,‘4标题’,‘刘备’,‘雌雄双剑’), (5,‘5标题’,‘关飞’,‘大刀’);
12、解决字符集问题
默认建表一般用utf8,而我们在问windows下窗口是GBK,因此需要声明字符集
set names gbk;
13、改
update msg set title=‘俺来了’, content=‘偏要当老大’ where name=‘李四’;
14、删
delete from msg where id=2 ;
15、查
列
select id,title from msg;
行
select *from msg where id>2;
行列
select id,title from msg where id>2;
详细,查询的5种子句:where,group,having,order by,limit
16、所谓建表:就是声明列的过程
列:不同的列类型占的空间不一样
选列原则:够用、不浪费
17、详解列类型:
整型:tinyint 1/smallint 2/mediumint 3/int 4/bigint 8
占据空间、存储范围
默认有符号
tinyint(M) unsigned zerofill M:宽度 无符号 0填充(如果为zerofill,默认为unsigned)
alter table class add age2 tinyint unsigned;增加一列
浮点型 :float(M,D) M:精度(总位数,不包含点) D:标度(小数位)
更精确 定点型:decimal(M,D)6,2
两者字节:4个字节或8个字节
字符型
char(M):定长字符,M为宽度,可容纳的字符数;0-255
varchar(M):可变长度字符集;有1-2字节记录长度(0-65535,约2w-6w字符,受字符集影响)
区别:
char 定长,M个字符,如果存的小于M,空格补齐,实占M个;末尾空格去除,存取速度更快
varchar 变长,M个字符,如果存的小于M,假设为N,N<=M,实占N+(1-2)个字符;末尾空格保留
text:文本类型,可以存比较大的文本段,搜索速度慢,;不用加默认值(加了也没用);约2w-6w字符,受字符集影响)
日期/时间型,最好有’’,这里省略了,例如:‘1992-08-12’
year:范围1901-2155;[000表示错误选择]
如果输入2位,00-69表示2000-2069,70-99表示1970-1999年
year(4)
date:典型格式:1992-08-12
范围:1000-01-01–>9999-12-31
time:典型格式 hh:mm:ss,范围-838:59:59->+838:59:59
datetime:上面两个结合
注意:在开发中,很少使用日期时间类型来表示一个需要的精确到秒的列
原因:虽然日期时间类型能精确到秒,且方便查看,但计算不便,故
用时间戳(int)来表示,即1970-01-01 00:00:00到当前的秒数,也方便格式化显示
enum():枚举类型
set():集合型