数据库学习(mysql)
一.数据库的操作(DDL)
1. create database if not exists db1 character set utf8;
创建数据库db1,(如果不存在则创建,并指定字符集为utf-8)注意写的时候是utf8,而不是utf-8
show databases;
查询所有的数据库
2.查询数据库创建语句
show create database db1;
3.修改数据库字符集(修改数据库的字符集为gbk)
alter database db1 character set gbk;
4.删除数据库(危险操作)
drop database db1
drop database if exists db1 防止报错,先判断,后删除
5.使用数据库
use db1;
6.查询正在使用数据库的名称
select database();
二.数据表的操作(DDL:数据定义语言)
1. 查询数据表
show tables;
2.查询表结构
desc db1;
3.创建表
create table 表名(
列名1 数据类型1,
列名2 数据类型2
)
数据类型:int(整数),long(小数),date(yyyy-MM-dd),datetime(yyyy-mm-dd HH-mm-ss),timestamp(时间戳类型)varchar(字符串)
datetime与timestamp区别:timestamp如果不给这个字段赋值或者赋值为null则默认使用当前系统时间默认赋值;
创建表实例:
create table Student(
id int,
name varchar(32),
age int,
score double(4,1), --表示最多4位,小数点后取一位,如:100.0
birthday date, --出生日期不用到时分秒,使用date
insert_time timestamp --创建时间
);
4.删除表
drop table student;
drop table if exists student; 判断是否存在
5.复制表
create table student2 like student;
6.修改表
修改表的名称:alter table student rename to student2; 修改student的表明位student2
查看表的字符集:show create table student;
修改表的字符集:alter table student character set utf8;
添加一列:alter table student add 列名 数据类型;
修改列名:
第一种方式:alter table student change name name2 varchar(10); 修改列名与数据类型
第二种方式:alter table student modify name varchar(10); 只修改数据类型
删除列名:alter table student drop name2;
三.数据表的增删改操作(DML:数据操纵语言)
1. 增加数据
insert into 表名(列名1,列名2) values(值1,值2);
实例:insert into student(age,name) values(20."张三");
注意事项:
1.列名与值一一对应
2.如果给所有值添加,可以不写列名
3.除了数据类型,其他字符类型需要使用引号(单引号或则双引号)
2.删除数据
delete from student where id=1;
注意:
1.如果不加条件,则删除所有数据
2.truncate 删除,效率更高,推荐使用,原理是先drop table,再创建一张空表,delete则是一条 一条数据删除,但是delete支持回滚,更加安全
3.修改数据
update student set name = '李四' where id = 2;