MySQL中关于表的操作

表操作DDL

系统数据库
information_schema:		#虚拟库
performance_schema:		#主要存储数据库服务器的性能参数
mysql:		#授权库
sys:		#主要存储数据库服务器的性能参数
数据库DDL操作
创建数据库:DDL
mysql -uroot -pQianfeng@123  -e "create database db2 default charset 'utf8'"

#数据库命名规则:
区分大小写
唯一性
不能使用关键字如 create SELECT
不能单独使用数字
不要使用中文
#查看所有数据库
show databases;
#查看创建的库信息
show create database school;
#查看当前库

SELECT database();
#切换数据库
use school
show tables;
表的DDL操作
#这些操作都是数据库管理中最基本,也是最重要的操作。
#内容包括:
    创建表 create table
    查看表结构 desc table_name,  show create table
    表完整性约束
    修改表 alter table
    复制表 create table ...
    删除表 drop table
#表是数据库存储数据的基本单位,由若干个字段组成,主要用来存储数据记录

#语法:
create table 表名(
		字段名1  类型[(宽度) 约束条件],
		字段名2  类型[(宽度) 约束条件],
		字段名3  类型[(宽度) 约束条件]
)[存储引擎 字符集];

#在同一张表中,字段名是不能相同
#宽度和约束条件可选
#字段名和类型是必须的

实例
#授权语句
GRANT ALL ON *.* TO 'remote'@'%' IDENTIFIED by 'Qianfeng@123';

#刷新权限
FLUSH PRIVILEGES;

#创建库
CREATE DATABASE school DEFAULT charset 'UTF8';

#切换数据库
USE  school;

CREATE TABLE student(
`id` INT,
`name` VARCHAR(50),
`sex` enum('male','female'),
`age` int
)ENGINE="INNODB"
#查看表
SHOW TABLES;
#查看表结构
DESC student;
#显示数据的详细信息
SHOW TABLE STATUS LIKE 'student' \G;
#查询表中指定字段的值
SELECT id,name,sex,age FROM student;
#查询表中所有字段的值
SELECT * FROM student;
#查询表中指定字段的值
SELECT name,age from student;

#修改表:     
alter  #修改表名称 修改字段名称  修改字段数据类型  修改字段的修饰符
insert #插入数据
delete #删除数据
update #更新数据 

##修改表名称
rename table emp to abc;
alter table abc rename emp;

##添加新字段
create table t1(id int(5),name varchar(20));
alter table t1  add math int(10);	#添加math
alter table t1  add (chinese int(10),english int(10));

#修改字段修饰符(约束)
alter table t1  modify chinese int(5) not null;

#修改字段名称、数据类型、修饰符(约束)
alter table t1 change chinese  china int(6);##change修改字段名以及约束条件,字段类型
alter table t1 change english  en int(6) after id;
alter table t1 change en en int(6) after name;
alter table t1 modify en int(6) after name;##modify修改字段类型以及约束条件
alter table t1 modify en int(6) first;
alter table t1 modify en int(6) after id;

#删除字段
alter table t1 drop en;

#插入数据(添加记录)
    字符串必须引号引起来  
insert into t1(id,name,math,china) values(1,"wing",80,90);
insert into t1(id,name,math,china) values(2,"king",70,100),(3,"tom",50,70);
insert into t1  values(4,"xiaosan",50,100);
insert into t1(id,math) values(5,70);
insert into t1 set id=6,math=65;

#更新记录 
update t1 set name="lili" WHERE id=5;

#删除记录
delete from  t1 WHERE id=6;
delete from  t1;    ##删除所有记录

#表复制:
复制一张表
create table t10(SELECT * from t3);
create table t10(SELECT id,name from t3);

复制表结构
create table t4 select *from t3;	#复制表和所有内容
create table t4(SELECT * from t3 WHERE 5=4);#只复制指定字段
create table t4(SELECT  id,name  from t3 WHERE 5=4);

#复制记录
insert into t3 SELECT * from t10 WHERE id=9;  俩表格字段要相同

#删除表
drop table t1;

#删除库
drop database newrain;
了解(!!!)
表完整性约束
作用:用于保证数据的完整性和一致性
==============================================================
约束条件					   说明
NOT NULL				标识该字段不能为null
UNIQUE KEY  (UK)		标识该字段的值是唯一的,可以为空,一个表中可以有多个UNIQUE KEY
AUTO_INCREMENT			标识该字段的值自动增长(整数类型,而且为主键)
DEFAULT						  为该字段设置默认值
UNSIGNED            无符号(正数)
ZEROFILL            使用0填充,例如0000001

说明:
1. 是否允许为空,默认NULL;可设置NOT NULL,字段不允许为空,必须赋值
2. 字段是否有默认值,缺省的默认值是NULL,如果插入记录时不给字段赋值,此字段使用默认值
 	sex enum('male','female') not null default 'male'
	age int unsigned NOT NULL default 20 		必须为正值(无符号) 不允许为空  默认是20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值