文章标题
2016-03-27 12:27
453 查看
MySql数据库的基本语法1(大神请略过)
关系型数据库(MySQL)database 或者DBS:SQL全名是结构化查询语言(Structured Query Language),是用于数据库中的标准数据查询语言。包含3个部分:数据定义语言(DDL : Data Definition Language)、数据操纵语言(DML : Data Manipulatio n Language)、数据控制语言(DCL : Data Control Language)。
DDL命令: create,drop,alter,show 等
DML命令:SELECT,INSERT,UPDATE,DELETE 等
DCL命令:COMMIT,ROLLBACK,SAVEPOINT ALTER SESSION,SET ROLE,ALTER SYSTEM 等
mysql服务的启动 关闭:
启动: net start mysql;
关闭: net stop mysql;
进入mysql
1,自带的黑窗口
2,window的黑窗口 ——配置环境变量path –bin
*注意:在window中打开需要配置环境变量,找到bin的路径配置在path
3, mysql [-hlocalhost] -uroot -p密码////////localhost(本地主机)
c/–退出
exit/quit
d/–数据库
1,查看所有数据库 show databases;
2,打开某个数据库 use 数据库名; —use wuhan20;
3,创建数据库 create database [if not exists] 数据库名;
—–create database if not exists cc
4,删除数据库 drop database 数据库名;—–drop database cc;
5,查看数据库的字符编码 show VARIABLES like ‘char%’
set character_set_client=gbk;
set character_set_results=gbk;
为了一劳永逸,可以在my.ini中设置: 设置default-character-set=gbk即可。 [client] port=3306//端口号 [mysql] default-character-set=gbk
DDL(数据定义语言):
查:show databases;(查找全部数据库)
增:create database 数据库名;(创建数据库)
删: drop database 数据库名;(删除/漏 数据库)
2表(关系,实例):
1,查看某个数据库的所有表 show tables; 2,创建表 create table dept( did int primary key auto_increment, dname VARCHAR(20), ddes varchar(50) );
——create table 表名(
字段 类型,
字段 类型
);
3,表结构 desc 表名; —–desc emp;(查看表结构)
4,删除表 drop table 表名; —drop table aa;
*不仅删除表结构 而且 数据也一起删除
5,查看表数据 : select * from 表名;—-select * from emp;
6,修改表结构:
(修改表名): ALTER table 旧表名 RENAME to 新表名; (1)添加字段 ALTER table 表名 add(字段名 字段类型); ---ALTER table emp add(li varchar(20)); alter table 表名 add 字段名 字段类型 after 某字段名; ----- alter table emp add da DATE after ename; (2)删除字段 alter table 表名 drop 字段名; ----alter table emp drop li; (3)修改字段类型 属性 alter table 表名 modify 字段名 字段类型 属性; ----- alter table emp modify ename varchar(30) not null (4)修改字段名 类型 alter table 表名 change 旧字段名 新字段名 新字段类型; (5)修改表名 alter table 旧表名 rename to 新表名 --- alter table e rename to emp; (6)添加主键 alter table 表名 add primary key(字段名)---alter table emp add primary key(eid); (7)删除主键 alter table 表名 drop PRIMARY KEY; (8)添加唯一约束 alter table 表名 add unique [约束名](字段名); ---alter table emp add unique(ename); (9)删除唯一约束 alter TABLE 表名 drop index 约束名;
(10)添加外键
Alter table 从表 add foreign key(列名) references 主表(主键);
主键
是人为赋予的一个编号,不可重复,主键是用来被引用
外键
配合主键使用,与主键的值相对应,才有意义,外键用来呼应相关表的主键
10)添加索引:
alter TABLE 表名 add index[索引名] (字段名) ;
(11)删除索引:
alter TABLE 表名 drop index 索引名;
7,表数据
1,添加数据(insert into….语句)
insert into 表名(字段1,字段2,字段3) values (值1,值2,值3);
2,修改数据(update ….set语句)
update 表名 set 字段名1=’值1’,字段名2=’值2’ where 字段名=’值’;
3,删除数据(delete from…语句)
delete from 表名;—删除所有记录
delete from 表名 where id=1 –删除ID为1的记录
4,查表数据
select * from 表名;
-- 在表级别一次性创建约束 CREATE table goods( id int PRIMARY key auto_increment, name VARCHAR(10) not null, price int not null, w_id int , foreign key(w_id) REFERENCES sub(num) );
代码实例:
create TABLE student(
stuNo int,
name VARCHAR(10),
age int,
grade double(4,2)
);
CREATE TABLE haha(
num INT,
subName VARCHAR(10)
);
– 查询表结构
DESC haha;
desc student;
– 删除表
– drop TABLE student;
– 添加主键
alter table student add PRIMARY key(stuNo);
ALTER TABLE haha add PRIMARY KEY(num);
– 添加字段
ALTER TABLE student add(sex CHAR(2));
– 在某个字段名之后
ALTER TABLE student ADD num int AFTER age;
– 删除字段
ALTER TABLE student DROP num;
– 修改字段类型 属性
ALTER TABLE student MODIFY grade INT NOT NULL;
– 修改字段名 类型
ALTER TABLE student CHANGE sex2 sex CHAR(2);
– 修改表名
– ALTER TABLE student RENAME student2;
– 添加外键字段
ALTER TABLE student add w_id INT;
– 主键和外键关联
ALTER TABLE student add FOREIGN KEY(w_id) REFERENCES haha(num);
SELECT * FROM student;
INSERT into student VALUES(5,’牧雪’,23,90,’女’,3);
INSERT into student VALUES(6,’李斌’,24,90,’男’,2);
INSERT into student VALUES(7,’李冰’,26,90,’女’,1);
INSERT into student VALUES(8,’白素贞’,23,90,’女’,2);
– 在表中一次性约束
create table manager(
id int PRIMARY key auto_increment,(自动增加int类型,不需要约束)
name VARCHAR(10) not null,
age int not null,
sex CHAR(2) not null,
w_id int not null,(先要添加外键字段)
foreign KEY(w_id) references haha(num)
);
SELECT * FROM manager;
INSERT INTO manager(name,age,sex,w_id) VALUES(‘战三’,23,’男’,2);
相关文章推荐
- 梯度、梯度下降,随机梯度下降
- 小试循环(1)
- RRDTool 三个命令的使用
- Java类型转换
- JavaScript基础回顾(思维导图之JavaScript变量)
- 两颗棋子找出100层大厦中棋子摔碎的临界层
- LightOj 1122 Digit Count(数位dp)
- [面试] C/C++ 语法(七)—— C++ 类型转换
- Maven+mybatis教程
- iOS 四层架构
- bootstrap-datetimepicker时间插件使用
- uCOS-II中PendSV_Handler和SysTick_Handler
- linux snmp常用结点值
- Java推送技术comedt
- Java核心知识点-I/O流
- Spark Streaming连接TCP Socket
- Linux信号(signal) 机制分析
- 排序算法(C语言+Python版)宝宝再也不怕面试官写排序算法了
- JAVA多线程和并发基础面试问答
- 梳理caffe代码layer(五)