mysql的简单介绍

1.MySQL默认端口号是多少?  3306
2.MySQL中的超级用户叫什么?  root
3.创建数据库的语句?  CREATE DATABASE JD CHARSET=utf8;
4.修改数据库的语句?  alter database 库名 charset=utf8;
5.删除数据库的语句?  DROP DATABASE JD;
6.查看数据库的语句?  SELECT DATABASE();

2.数据表:
数据库是由数据表组成的,数据是存在数据表里的。

4.使用数据库:
USE python;

5.创建表:
– create table 表名(字段名 类型名 约束);
create table classes(
id int unsigned auto_increment primary key not null,
name varchar(20) not null
);

create table students (
        id int unsigned auto_increment primary key not null,
        name varchar(30) not null,
        age tinyint unsigned default 0,
        high decimal(5,2),
        gender enum("男", "女", "中性", "保密") default "保密",
        cls_id int unsigned,
        foreign key(cls_id) references classes(id)
    );

6.查看数据表:
SHOW TABLES; --查看所有的表
DESC students; --查看表结构
SHOW CREATE TABLE classes; --查看创表语句

7.删除表:
DROP TABLE classes;

8.增删改查(curd):

1.插入记录:
	-- INSERT [INTO]  表名 [(列名,....)]  VALUES(数据,......);
    
    -- 全列插入
    -- insert 表名 values (...)
    insert students values(0,"张三",20,175,"男",1);

    -- 部分插入
    -- insert into 表名(列1,...) values(值1,...)
    insert students (name,high) values ("王二", 173);

    -- 多行插入
    insert students (name, high) values ("刘备", 160),("张飞", 178);


2.记录查找:
	-- SELECT 列名,....  FROM  表名  [ WHERE 条件]

	1.查询所有列
	-- select * from 表名;
	-- 注意 :“ * ” 号可以表示所有字段(列)
	select * from students;

	2.指定条件查询
	-- 条件可以使用  >  <   >=  <=  AND OR 
	select * from students where age > 21;
	-- 查询名字中带有 "王" 字的所有人信息: 
	select * from students where name like "%王%";
	-- 查询id小于3且年龄等于20的所有人信息: 
	select * from students where id<3 and age=20;


	3.查询指定列
    -- select 列1,列2,... from 表名;
    select name, gender from students;
    select gender, name from students;


    4.可以使用as为列或表指定别名
    -- select 列1【 as 名字】,列2【 as 名字】,... from 表名;
    select name as '姓名', gender as '性别' from students;


3.修改:
	-- update 表名 set 列1=值1,列2=值2... where 条件

	-- 把id为1的同学,年龄改为10,性别改为保密
    update students set age=10,gender=4 where id=1;

	-- 将所有人的年龄增加1: 
	update students set age=age+1;


4.删除: 

	1.物理删除
	-- 基本用法为:
	delete from 表名称 where 删除条件;

	-- 删除id为2的行: 
	delete from students where id=2;
	-- 删除所有年龄小于20岁的数据: 
	delete from students where age<20;
	-- 删除表中的所有数据: 
	delete from students;

	2.逻辑删除
    -- 用一个字段来表示 这条信息是否已经不能再使用了
    -- alter table students add is_delete bit default 0;
    update students set is_delete=1 where id=5;

9.表结构的修改:

  1.添加字段
  	-- alter table 表名 add 列名 列数据类型 [after 插入位置];
  	-- 示例:
	    -- alter table 表名 add 列名 类型;z'//'1'

		-- 在名为 age 的列后插入列 address: 
		alter table students add birthday datetime after age;

  2.删除字段
    -- alter table 表名 drop 列名;
    alter table students drop high;

  3.修改字段:不重命名版
    -- alter table 表名 modify 列名 类型及约束;
    alter table students modify birthday date;

  4.修改字段:重命名版
    -- alter table 表名 change 原名 新名 类型及约束;
    alter table students change birthday birth date;

  5.表格重命名:
	基本形式: 
	-- alter table 表名 rename 新表名;
	示例: 
	-- 重命名 students 表为 workmates: 
	alter table students rename workmates; 

10.表的约束:确保表中数据的完整性,唯一性

常用7种约束:
    unsigned: 无符号约束,指定数字不能为负数
    		-- 数字(整数,小数) 		

  not null: 非空约束,指定某列不为空

    auto_increment: 自动增长约束,序号自动加一
			-- 注意:必须与主键组合使用
			-- 默认情况下,初始值为1,每次增量为1  

  unique:  唯一约束,指定某列和几列组合的数据不能重复
			-- 唯一约束可以保证记录的唯一性
			-- 唯一约束的字段可以为空值(NULL)
			-- 每张数据表可以存储多个唯一约束

  primary key:  主键约束,指定某列的数据不能重复、唯一
			-- 每张数据表只能存在一个主键
			-- 主键保证记录的唯一性
			-- 主键自动为NOT NULL

  foreign key:  外键,指定该列记录属于主表中的一条记录,参照另一条数据

	default 0: 当插入数据的时候,如果字段没有数据,则自动插入默认值

11.备份和恢复:(了解)
– 数据库的备份
mysqldump -uroot -p --datebase python > python.sql;
– 恢复
– 先建一个新的数据库 create database newpython charset=utf8;
mysql -uroot -p < python.sql;

你可能感兴趣的:(mysql)