mysql opaq数据库_MySQL数据库基本操作

##########################

今天来说一下MySQL数据库的一些基本操作

##########################

1.创建数据库

create database db1;  //db1是数据库名

2.查看当前存在的数据库

show database db1;

3.查看数据库定义

show create database db1;

4.选择数据库

use db1;

5.删除数据库

drop database db1;

6.创建表(一个表描述的是一件事情)

create table 表名

(

列名 数据类型 [约束],

...

);

列名:命名规则同Java;数据类型:参见列表;约束:约束的是值,分为主键约束、外键约束、非空约束、唯一约束、默认约束

1)主键约束:要求主键列的数据是唯一,且不允许为空。

单字段主键:字段名 数据类型 primary key

多字段联合主键:primary key [字段1,...,字段n]

2)外键约束:用来在两个表之间建立连接。

格式:constraint 外键名 foreign key 字段名 references 主表名(主键列)

1 CREATE TABLEclassinfo2 (3 classid INT PRIMARY KEY,4 classname VARCHAR(6)5 );6 CREATE TABLEstuinfo7 (8 stuid INT PRIMARY KEY,9 stuname VARCHAR(6),10 stusex CHAR(1),11 classid INT,12 ##添加外键13 FOREIGN KEY(classid) REFERENCESclassinfo(classid)14 );15 COMMIT;16 ROLLBACK;

3)非空约束:指字段值不能为空。

格式:字段名 数据类型 not null

4)唯一约束:要求该列值唯一,允许为空,但只能出现一个空值。

格式:字段名 数据类型 unique

5)默认约束:指定某列的默认值。

格式:字段名 数据类型 default 默认值

6)设置表的属性值自增:一个表只能有一个字段使用自增约束,且该字段必须为主键的一部分。

格式:字段名 数据类型 auto_increment

1 CREATE TABLEstudents2 (3 stu_no INT PRIMARY KEYAUTO_INCREMENT, ##标识列 incremeny4 stu_name VARCHAR(4) NOT NULL,5 stu_sex CHAR(1) CHECK(stu_sex='男'OR stu_sex='女'),6 stu_age INTEGER,7 stu_phone VARCHAR(11) UNIQUE NOT NULL,8 stu_bri DATE9 );

7.创建临时表

create temporary table a ();

8.查看表基本结构语句

describe 表名 / desc 表名

查看表的详细结构语句:show create table \G 表名

9.修改表名

alter table 旧表名 rename 新表名;

10.修改字段的数据类型

alter table 表名 modify 字段名 数据类型

11.修改字段名

alter table 表名 change 旧字段名 新字段名 新数据类型;

12.修改表语句

alter table 表名 add 新字段名 数据类型 [约束条件] [first | after 已存在字段名];

alter table 表名 drop 字段名;

13.修改字段的排列位置

alter table 表名 modify 字段1 数据类型 first | after 字段名2;

14.更改表的存储引擎

alter table 表名 engine=更改后的存储引擎名;

15.删除表的外键约束

alter table 表名 drop foreign key 外键约束名;

16.删除表

drop table 表名;

17.插入数据

#单行插入:INSERT INTO 表名 (列字段列表) VALUES(值内容列表);

#1.按照列字段顺序插入INSERT INTO students(stu_no,stu_sex,stu_name,stu_age)VALUES(NULL,'女','李四',23);

#2.按照物理顺序插入INSERT INTO students VALUES(3,'王五','男',22);

#3.插入部分列的数据,其他列必须允许为空INSERT INTO students(stu_name,stu_phone) VALUES('马六','13477778888');

#多行插入:注意标识列不支持INSERT INTO 表名 (列字段列表) VALUES(),...,();INSERT INTO 表名 (列字段列表) SELECT 值内容列表 FROM 表名 WHERE 条件;

18.更新数据

1 UPDATE 表名 SET 列名 = 值 , ....列名 = 值 WHERE条件;2   例:UPDATE students SET stu_age=21 ,stu_bri='1997-09-11' WHERE stu_no=6;

19.删除数据

1 DELETE FROM 表名 WHERE条件;2 例:DELETE FROM students WHERE stu_no>3;

20.表的复制

1 #1.创建表复制2   CREATE TABLE 新表 AS SELECT 列 FROM 旧表 [WHERE 条件];3   CREATE TABLE new_user AS SELECT userid,username,useraddress FROM userinfo WHERE userage>30;4 #2.插入数据时复制5   INSERT INTO 新表 (列字段) SELECT 列字段 FROM 旧表 [WHERE 条件];6 INSERT INTO new_user SELECT userid,username,useraddress FROM userinfo ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值