SQL相关的指令:
文件夹(数据库):
文件 (数据表)
数据存放在文件中
对文件夹(数据库)操作:
1. 查看数据:
show databases;
create database db1 default charset utf8;
drop database db1;
2. 使用数据库:
use xxx
3. 查看数据库下的所有的表:
show tables;
文件 (数据表)操作:
创建表:
create table test1(
#列名 [列类型][auto_increment ] [not null][default]
id int unsigned auto_increment primary key,
name char(32) not null default '',
age int not null default 1
) charset=utf8 ;
列类型:
整数型
int
tinyint samallint bigint
float: 0.00000000000145055000
salary decimal(5, 2):
2000.23
字符串型
char(32) # xxxxxxxxxx
varchar(32) #
效率:
char()的效率高
varchar()
重要场景:
user pwd
MD5(pwd)=> # 32
时间类型
datetime : 日期时间
删除表:
drop table test1;
更新表:
show create table xxxx;
desc test1;
name ==> mingzi
alter table test1 change name mingzi varchar(32) not null default '';
alter table test1 drop mingzi;
alter table test1 add mingzi varchar(32) not null default '';
对数据的操作:
查看:
select * from test1;
select id, name from test1;
select id, name from test1 where id=5;
select id, name from test1 where id<4;
select id, mingzi from test1 where id between 1 and 3;
增加数据:
insert into test1 (name, age) values ('xxxx', 12);
insert into test1 (name, age) values ('ssss', 13);
insert into test1 (name, age) values ('qqqq', 14);
insert into test1 (name, age) values ('jjjj', 15);
insert into test1 (name, age) values ( 'dddd', 17);
insert into test1 (name, age) values ('你好', 17);
删除数据:
delete * from test1 ; # 将表中的数据全部删掉
delete from test1 where id=1;
truncate test; (生产的环境下) rm -rf /*
更新数据:
update test1 set name='qqqq', age=12 where id=2
外键:
之前存在的问题:
1. 列里面的值可以随便的写, 没有的任何的约束
2. 维护更改的时候比较的麻烦
改进之后:
1. 节省空间
2. 维护更改的时候比较的简单
创建外键:
create table user(
#列名 [列类型][auto_increment ] [not null][default]
id int unsigned auto_increment primary key,
name char(32) not null default '',
age int not null default 1,
depertment_id int not null default 1,
constraint fk_users_depert foreign key user('depertment_id') references depertment('id'),
constraint fk_users_depert foreign key user('age') references couser('id')
) charset=utf8 ;
create table depertment(
id int unsigned auto_increment primary key,
depname char(32) not null default ''
)charset=utf8 ;