q66262 发表于 2018-10-3 11:44:35

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。
  
要规定 &quot;id&quot;列以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]
查看完整版本: mysql sql语句学习