A straight-through cable between one of the gigabit ports on each switch. If there are multiple VLANs configured on the switches, you'll want to configure the connected interfaces as trunk ports.
If you're using the two combination RJ45/SFP ports for some other gigabit links, you can get a short jumper cable to interconnect two of the SFP ports. This lets you connect switches without losing the RJ45 ports that you would use for servers, etc. Adtran's part number 1200484G1 jumper is described here: SFP Interconnect Cable (1 Meter). Other manufacturers make similar jumpers or you could use fiber-optic transceivers if the switches are some distance apart.
For switches there is no hard-and-fast rule as there was for hubs, but the shared throughput of the common link will become an issue if the network gets busy. You also don't want to have too many devices on the same layer-2 network because of contention for broadcast traffic. You should be OK with five or six switches.
There are also different ways of interconnecting, star, bus, or ring. With a star pattern you would have one switch at the hub of the network and connect all of the other switches to ports on the hub switch. The advantage is that each switch is only one "switch hop" from the hub and at most two switch hops from any other port. The disadvantage is that should the hub switch fail everything dies.
With a bus, it's like a daisy chain. Traffic from one endpoint to the other must traverse all intermediate switches. The advantage is that each switch needs at most two ports to connect to the bus. If you go this way, try to have your most used devices such as servers and routers to the Internet in the middle of the string. Disadvantage is that any intermediate switch failing takes out everything "downstream"
A ring is like a bus but with the ends connected back to each other to form a complete loop. While it's physically the most robust, any switch failure doesn't block other switches, Ethernet by nature doesn't play well with a ring. Frames will circulate around and around creating "storms" without some form of protection against it. Spanning-tree is the protection, and it can be configured in a number of ways. You should know what you are doing and the repercussions before deliberately configuring switches in a ring or loop. Even if you don't create a loop deliberately, you should ensure that spanning tree is enabled on every port connected between switches or that might accidentally be connected between them. And never use cheap unmanaged switches as part of a network backbone.