mysql sql语句学习
登录、备份mysql、mysql帐号添加mysql -u root-h host -D DBname -p登录数据库
mysqladmin -uroot -poldpasspassword newpass
mysqldump -uroot -p--opt scoo > web.sql备份数据库
mysql -uroot -D test < web.sql 还原数据库
grant all privileges on test.* to 'larry'@'192.168.1.*'>
SET PASSWORD FOR 'larry'@'192.168.1.*'=PASSWORD('webpass');
FLUSH PRIVILEGES;
基本sql命令:
desc dede_admin;查看表结构
show databases;查看所有的数据库
show tables;查看所有的表
select * from dede_admin;查询表里面所有内容
select>
select * from dede_admin order by uname,company; 以用户名和公司排序
select name from dede_admin group by company; 以公司列排序查询name###group by语句用于结合合计函数,根据一个或多个列对结果集进行分组
select * from dede_admin where>
select * from dede_admin where>
select * from dede_admin where (id=1 or userid='admin') and username=larry; 查询添加or和and条件;
insertinto super select * from student where>
create table sjk select * from student; 拷贝student表,并重命名为sjk表
create database scoo; 创建数据库
use scoo;
mysql> create table student(
->>
-> name char(32),
-> old int(12),
-> hometown varchar(64),
-> email char(64),
-> hobby varchar(64)
-> primary key (id));创建一张表,并以id号为主键,设置主键不为空,并自动创建主键值
默认地,AUTOINCREMENT 的开始值是 1,每条新纪录递增 1。
要规定 "id"列以10起始且递增2,请把 autoincrement改为 AUTOINCREMENT(10,2)
修改表id为autoincrement
insert into student values(1,'larry',22,'xuchang','larry@163.com','bbox');插入一条数据
update student set hobby='bbox,play football' where>
delete from student where>
deletefrom dede_member; 删除表里面所有的数据,表结构、属性和索引都是完整的
select emailfrom student where name like 'larry';搜索表里面包含larry的字段
select emailfrom student where name like not 'larry';搜索表里面不包含larry的字段
select emailfrom student where name like 'larr%';搜索表里面以larr开头的字段
select emailfrom student where name like '%rr%';搜索表里面包含rr的字段
select oldfrom student where name in ('larry','wyy'); in操作符选取name为larry和wyy的字段
select * from student where>
alter table student add date int(16);为表添加列
alter table student drop column date;删除指定列
alter table student modify hobby char(64);修改表列的类型
表的主键:
1、PRIMARY KEY 约束唯一标识数据库表中的每条记录。
2、主键必须包含唯一的值。
3、主键列不能包含 NULL 值。
4、每个表都应该有一个主键,并且每个表只能有一个主键。
如果表还没添加主键可用alter添加:
alter table student add primary key(id);
撤销主键:
alter table student drop primary key;
每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束
mysql> create table student(
->>
-> name char(32),
-> old int(12),
-> hometown varchar(64),
-> email char(64),
-> hobby varchar(64),
-> primary key (id),
-> unique (id));添加主键的uniq约束
如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束
mysql> create table student(
->>
-> name char(32),
-> old int(12),
-> hometown varchar(64),
-> email char(64),
-> hobby varchar(64),
-> primary key (id),
-> unique (id)
-> CONSTRAINT student_id UNIQUE (id,email));
如果表已经存在,则用alter修改
alter table student add ONSTRAINT student_id UNIQUE (id,email);
alter table student add UNIQUE (email);添加约束
撤销约束:
alter table student drop INDEX email;
表的外键:
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY
表的约束:
CHECK 约束用于限制列中的值的范围
mysql> create table student(
->>
-> name char(32),
-> old int(12),
-> hometown varchar(64),
-> email char(64),
-> hobby varchar(64)
-> CHECK (id>0));
alter table studentadd CONSTRAINT old CHECK(0
页:
[1]