首页 > 数据库技术 > 详细

mysql的操作

时间:2016-03-28 18:21:37      阅读:353      评论:0      收藏:0      [点我收藏+]

登录mysql     mysql -h hostname -u username -p       密码

mac下启动mysql

在终端的本人用户名下的   .bash_profile的文件里添加

export PATH=/usr/local/mysql/support-files/:$PATH     path路径

然后终端输入sudo mysql.server (start 启动    restart  重启  stop停止)

\s   查看数据库信息

创建数据库

不带字符编码的    create database  数据库名称 ;

带字符编码的      create database  数据库名称  charset=‘utf8‘;

查看数据库

show databases;

查看一个已经创建的数据库信息

show create database 数据库名称;

修改数据库编码

alter database 数据库名称 default character set 编码方式 collate 编码方式_bin;

删除数据库

drop database 数据库名称;

登录数据库
use 数据库名;

-----------------------------------------

查看表中的列
SHOW COLUMNS FROM 表名;
DESCRIBE 表名;
desc 表名;

查看数据库中的表

show tables;

建表语法:
CREATE TABLE 表名(
    字段1 数据类型 约束,
    字段2 数据类型 约束,
    ...
    字段n 数据类型 约束
);

查看已建表的信息
show create table 表名;
删除表
drop table 表名;

约束:

表的约束
主键、外键、非空、唯一、默认

如果定义为主键,那它也一点唯一和非空
单字段主键
字段名 数据类型 primary key
多字段主键
字段名 数据类型 (字段名1,字段名2,字段名3,字段名4,字段名5,....字段名n)
非空约束
字段名 数据类型 not null
唯一约束
字段名 数据类型 unique;
默认约束
字段名 数据类型 default 默认值;
表字段的自动增长
字段名 数据类型 auto_increment;
外键约束
 FOREIGN KEY
建立在两表或多张表中的关联关系,以保证数据完整性
注意:1.子表参照的值必须在主表被参照字段的值的范围内
      2.如果主表中有值被参照,那么主表中的相应记录不能被删除
      3.子表的外键参照的列只能是主表的主键列或唯一约束的列

CREATE TABLE class(
    cid INT PRIMARY KEY auto_increment,
    cname VARCHAR(20)

)ENGINE=INNODB;

CREATE TABLE student(
    sid INT PRIMARY KEY auto_increment,
    sname VARCHAR(20),
    scid INT,

    -- FOREIGN KEY (scid) REFERENCES class(cid)

    CONSTRAINT fk_scid FOREIGN key(scid) REFERENCES class(cid)

)ENGINE=INNODB;

DROP TABLE student;
DROP TABLE class;

语法1: FOREIGN KEY (外键字段) REFERENCES 主表(主键字段);
语法2: CONSTRAINT 外键名 FOREIGN KEY (外键字段) REFERENCES 主表(主键字段); 

(外键名:fk_字段名)

 

建表后的操作:
修改表名:
alter table 旧表名 rename to 新表名;
修改表里字段名
alter table 表名 change 旧字段名 新字段名 新数据类型;
修改字段的数据类型
alter table 表名 modify 字段名 数据类型;
添加字段
alter table 表名 add 新字段名 数据类型;-----约束
删除字段
alter table 表名 drop 字段名;
修改字段的排列位置
alter table 表名 modify 字段名 1 数据类型 first|after 字段名 2;

查表

select * from 表名;

1.DELETE
语法:delete FROM 表名 [where 条件]

注意:删除都是指删除整条数据
delete删除数据不会彻底删除,会保留表的结构以及数据空间结构
如果删除时不指明条件,表示将整张表数据删除

--删除所有年龄为18岁的学生
DELETE FROM student where sage = 18;

--删除所有年龄为17岁并且学习英语软件专业的学生信息
DELETE FROM student where sage = 17 AND szhuanye = ‘英语软件‘;
DELETE FROM student where sage = 17 OR szhuanye = ‘英语软件‘;

 

 

 


CREATE table test(
tid int PRIMARY KEY auto_increment,
ttt VARCHAR(10)

);


like not like ‘%字符‘ ‘字符%‘ ‘字%符’

INSERT INTO test(ttt) values("a");
INSERT INTO test(ttt) values("b");
INSERT INTO test(ttt) values("c");


DELETE FROM test WHERE tid = 5;

2.TRUNCATE
语法:truncate table 表名;

注意:truncate表示将整张的内容全部删除,保留表结构,释放数据空间
TRUNCATE TABLE test;

3.drop
语法:drop table 表名;
注意:慎用,将整张表全部删除

UPDATE

语法:update 表名 set 列1 = 值1,列2 = 值2... [WHERE 条件]

注意:如果不跟where条件,那么表示将表中的所有数据都进行修改


--修改学生表中的学员的年龄为20岁
UPDATE student SET sage = 20;

--修改学号为5的学生的姓名为‘lucy‘
UPDATE student set sname = ‘lucy‘ WHERE sid = 5;

--修改学号为2的学生的年龄为18岁,班级id改为1001
UPDATE student SET sage =18,cid = 1001 WHERE sid = 2;

INSERT

CREATE TABLE student(
sid INT PRIMARY KEY auto_increment,
sname VARCHAR(10),
sage int

);

不指定字段添加数据,必须为表中的每个字段都添加数据
注意:值的顺序必须和表中字段顺序一致

INSERT INTO 表名 VALUES (值1,值2,...值n);

INSERT INTO student VALUES(101,‘lily‘,20);

指定字段添加数据
注意:在指定字段时,字段顺序必须和建表时一致
INSERT INTO student(sname,sage) values(‘lucy‘,20);


DROP TABLE student;


CREATE TABLE class(
cid INT PRIMARY KEY,
cname VARCHAR(10)

)ENGINE=INNODB;

CREATE DATABASE tt ENGINE=INNODB;

CREATE TABLE student(
sid INT PRIMARY KEY auto_increment,
sname VARCHAR(10),
sage int,
cid INT,
FOREIGN KEY(cid) REFERENCES class(cid)

)ENGINE=INNODB;

DROP TABLE student;
DROP table class;

INSERT INTO class(cid,cname) VALUES (1,"class1");
INSERT INTO class(cid,cname) VALUES (2,"class2");
INSERT INTO class(cid,cname) values(1001,"class3");

INSERT INTO student(sname,sage,cid) values(‘lily‘,19,2);
INSERT INTO student(sname,sage,cid) values("lucy",20,10001);


CREATE TABLE ttt(
ttt int
);

mysql的操作

原文:http://www.cnblogs.com/like-me-u/p/5329844.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!