数据库

2018-06-17 23:52:50来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

数据库命令:
show databases; #查看当前mysql都有那些数据库
create database 数据库名 #创建文件夹
use 数据库名; #选中数据库,进入目录
show tables; #查看当前数据库中有哪些表
create table 表名(id int,name varchar(20),pwd varchar(64)); #创建数据库表
select * from 表名; #查看表中所有数据
insert into 表名(id,name,pwd) values(1,'alex','123'); #插入数据
进入数据库:mysql -u root -p(或mysql -u root -h 127.0.0.1 -p) -h 127.0.0.1 没有的话会自动默认为localhost
root用户是原本数据库mysql中user表有的,要创建用户、删除用户等操作要用用户管理特殊命令。
最高管理员(root用户):
创建用户: create user '用户名'@'IP地址' identified by '密码';
删除用户:drop user '用户名'@'IP地址';
修改用户:rename user '用户名'@'IP地址';to '新用户名'@'IP地址';;
修改密码:set password for '用户名'@'IP地址'=Password('新密码')
如果创建新用户root1,被授权,那么就要登录root账户为root1设置权限。

grant insert on 数据库.表名 to root1@localhost;
innodb引擎 支持事物操作(一个数据库给另一个账户转账过程中突然数据库链接中断,那么再连接上数据库时钱会回到原有账户)

创建表(设置可为空或不可为空,设置默认值)

create table 表名(
id int not null default 2,
num int null)engine=innodb default charset=utf8; #innodb引擎支持外键
1.创建表(设置自增列(需主键),插入数据时只用给字段name赋值)
create table 表名(
id int not null auto_increment primary key
name varchar(20))
两列可以组成一个主键(每个主键不相同):
create table student(
name varchar(10) not null,
num int not null,
age int,
primary key(name,num))
2.删除表:drop table 表名;
3.清空表:delete from 表名/truncate table 表名(删除后自增回到原点)
4.修改表
添加列:alter table 表名 add 列名 类型
删除列:alter table 表名 drop cloumn 列名
修改列:alter table 表名 modify column 列名 类型 
alter table 表名 change 原列名 新列名 类型

添加主键:alter table 表名 add primary key(列名)
删除主键:alter table 表名 drop primary key
alter table 表名 modify 列名 int,drop primary key;
5.表内容操作(将表2的两列内容插入到表一的两列中)
增:insert into 表1 (列名,列名) select(列名,列名)from 表2
删:delete fromdelete fromwhere id=1 and name='alex'
改:update 表 set name ='alex' where id>1
查:select * fromselect * fromwhere id>1
设置外键:
1.(两张表先前创建好的)
alter table 1表名 add constraint 外键名(可随机) foreign key 1表名(字段名) references 2表名(2表主键字段名);
2.(在创建两张表的同时创建外键)
create table color(
id int not null primary key,
name char(15) not null)
create table fruit(
id int not null primary key,
smt char(23) null,
color_id int not null,
constraint fk_cc foreigner key (color_id) references color(id))


连表操作
select * from a,b where a.x=b.o
select * from a left join b on a.x=b.o

创建临时表

(select * from user where..) as T1
创建后不使用直接自动消除,不能创建后在重写一句
select * from T1
要写成:
select * from(select * from user where..) as T1

创建视图(和临时表作用相似)

create view T1 as
..... sql语句.......

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:数据类型--集合

下一篇:Django在根据models生成数据库表时报 __init__() missing 1 requ