MySQL基础操作

来源:互联网 发布:java企业级开发是什么 编辑:程序博客网 时间:2024/05/16 17:32

MySQL连接本机 --------mysql -h localhost -u root -p按回车输入密码exit-------退出show databases; --------查看库create database php;----------新建一个库drop database php;----------删除一个库create database if not exists php;--------如果不存在创建,存在就不创建了drop database if exists php;----------如果存在就删除create table php.stu(id int, name char(3)); ----------在php这个库里创建一个stu表有2列use php;-----------把php作为默认的库,这样我们每次建表的时候不用加库名,建的表都在默认的库里面show tables;----------查看所有的表desc stu;------查看表结构drop table stu;-----------删除表drop table if exists stu;----------如果存在就删除create table if not exists stu(id int , name char(3));-----------如果不存在就创建insert into stu values(1,'li');------------往stu表里面插入数据id是1name是liinsert into stu values('2','wa');------------全按字符串处理,程序会自动转换成它所对应的类型insert into stu(id) values(3);-----------插入一部分字段insert into stu(name) values('ch');-----------不用考虑顺序select * from stu;--------查看stu表的所有数据update stu set name='oo' where id=1; ---------更新id为1的名字为ooupdate stu set name='oo',age=13 where id=1;-------------改2个用逗号隔开,做个示例,作者stu表里面并没有age这个属性delete from stu where id=1;---------删除id=1的行在dos窗口下可以按上下键来编辑使用你以前用过的命令


1.表的结构

CREATE TABLE 【IF NOT EXISTS】 表名称(

字段名1 列类型 【属性】【索引】

字段名2 列类型 【属性】【索引】

字段名3 列类型 【属性】【索引】

.........

)【表类型】【表字符集】;中括号可写可不写

sql是不区分大小写的,表就是一个文件名,windows不区分大小写,linux区分大小写,所以自己定的名称最好都小写,确保顺利运行

sql语句最好都大写,便于区分

2.数据字段属性

(1)unsigned 可以让空间增加一倍(因为变成无符号的了)-128--127 比变成 0--255

只能用在数值型字段

(2)zerofill 

只能用在数值型字段,前导零

该字段自动应用UNSIGNED

(3)AUTO_INCREMENT

只能是整数,数据每增加一条就会自动增1,字段值不允许重复

NULL 0 留空  自动增1

也可以指定

每个表最好有一个ID字段,设置为自动增长

(4)NULL 和 NOT NULL

3.修改表

alter table stu add sex varchar(10) not  null;----------往stu表里面增加sex字段,长度为10,不能为空

alter table stu add  age int unsigned not null default '0';---------往stu表里面增加age字段,无符号,不能为空,默认值为0

alter table stu add school varchar(10) not null after name;----------往stu表里面增加school字段,长度为10,不能为空,并且这个字段在名字字段后面

alter table stu add  hight double first;---------增加一个hight字段,并且在第一列

alter table stu modify sex char(10);------------修改sex这个字段的属性

(modify适合改类型,改字段名用change)

alter table stu change name username char(10);--------更改name字段名为username后面必须跟属性

alter table stu rename as student;--------更改表名为student

alter table stu drop username;----------删除username字段

drop table if exists stu;---------如果存在就删除表stu,if exists为可选项

? alter table;------------查看更多修改表的帮助

4.索引

(1)主键索引

主要作用是确定数据库表里一条特定数据记录的位置

最好为每一张数据表定义一个主键

一个表只能定义一个主键

主键的值不能为空

create table t1(

id int not null primary key,//id字段为索引

name varchar(20)

);

不能插入主键重复的值

create table t2(

id int not null auto_increment,

age int not null default 0,

primary key(id)

);


(2)唯一索引

和主键索引一样都可以防止创建重复的值

每个表只能有一个主键索引,可以有多个唯一索引

create table t3(

id int not null auto_increment,

name varchar(30) not null default ' ' unique,

age int,

primary key(id)

); 

insert into t3(name,age) values('aaa',10);//第一个自动增长不插入

使用unique

(3)常规索引

最重要的技术

提升数据库的性能

将索引排序,可以提高查找的速度,减慢数据列上插入,删除,修改

(4)全文索引

0 0